CN1870643A - 利用顺序号的数据通信协调 - Google Patents
利用顺序号的数据通信协调 Download PDFInfo
- Publication number
- CN1870643A CN1870643A CNA2005101279982A CN200510127998A CN1870643A CN 1870643 A CN1870643 A CN 1870643A CN A2005101279982 A CNA2005101279982 A CN A2005101279982A CN 200510127998 A CN200510127998 A CN 200510127998A CN 1870643 A CN1870643 A CN 1870643A
- Authority
- CN
- China
- Prior art keywords
- client
- credit
- server
- order
- window
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
-
- 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
- H04L67/147—Signalling methods or messages providing extensions to protocols defined by standardisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/02—Protocol performance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
描述了用于客户端—服务器通信的顺序号,以控制客户端对服务器资源的使用。服务器授予客户端的信用,该客户端消耗信用以向服务器发送每个命令。每个信用对应一顺序号,一组顺序号构成有效命令窗口。服务器强制实施对于每个接收到的命令,该命令包括有效命令窗口内的一顺序号,且该号码不曾被另一命令所使用。服务器还可以保持最大窗口大小,以便具有信用的客户端不能发送具有超过最大顺序号的顺序号的命令。当结合于数据通信协议中时,会产生服务质量、对抗服务拒绝、信息丢失的检测、服务器资源的划分、安全的信息签名、以及其他许多益处。
Description
相关申请的交叉参考
本申请要求于2005年5月25日提交的美国临时专利申请序列号60/685,008的优先权,该专利申请结合在此作为参考。本发明涉及共同待决的名为“DataCommunication Protocol”的美国专利申请,其代理人档案号为5612/311754,与本发明同时提交,已转让给本发明的受让人,且结合在此作为参考。
背景技术
今天仍然使用的许多数据通信协议,如SMB(服务器信息块)协议,是在计算机资源有很大不同的时代发展起来的,例如,那时网络带宽一般是有限的且存储器非常珍贵。结果是,当在当代网络中使用时,这种协议会限制总体性能。例如,因为是在存储器有限的时候设计的,使用的缓冲器很小,则要求更多的往返行程来传递大量数据。
而且,现有的SMB协议还有随时间而变得明显的其他限制。例如,现有的SMB协议易受拒绝服务攻击的影响;该协议的设计使得它很难对抗这些攻击。同样地,现在没有用于执行类似服务质量的操作,这是由于例如受信任的客户获得与不受信任的客户相同的服务器资源。总而言之,尽管是频繁使用且有价值的协议,但是当用于当代网络资源时,现有的SMB版本还是不够理想。
发明内容
简要的说,本发明的各个方面针对对客户端一服务器通信使用顺序号,如结合在数据通信协议中,以控制客户端对服务器资源的使用。本发明的各个方面将顺序号的使用应用于排序并非重要的协议,但却提供服务质量、服务拒绝对抗、服务器资源的划分、安全信息签名、以及其他许多益处。
服务器授予客户端信用(credit),客户端使用信用用于向服务器发送每条命令。每个信用与一顺序号对应,一组顺序号构成有效命令窗口。服务器强制实施对于每个接收到的命令,该命令包括有效命令窗口内的一顺序号,且该顺序号未曾被另一个命令所使用。服务器还可保持最大窗口大小,以便即使具有信用的客户端也不能发送顺序号超过与最大窗口大小对应的最大顺序号的命令。
一般来说,一旦从客户端接收命令,服务器验证顺序号是否在窗口内且之前未被使用。然后,服务器从客户端可用的那些顺序号中除去相应的顺序号,因此消耗一个信用。然后,服务器确定是否授予该客户端一个或多个其他的信用。
因此,提供了一种通过包含对于授予客户端的每个信用唯一号码的有效操作窗口,控制授予客户端的信用数,从而限制对服务器资源的使用的机制。一种实施机制确保允许对接收到的命令的进一步的服务器操作,该命令包括有效操作窗口内的一顺序号,且该唯一号码未被另一个命令所使用。一种分配机制控制授予客户的信用和有效操作窗口内的唯一号码。
当结合附图考虑时,从下面的详细说明中,本发明的其他优点会更为明显。
附图说明
本发明通过例子来说明,且不受伴随的附图的限制,附图中相同的标号指示相同的元件,并且其中:
图1示出其中可以结合本发明的各个方面的通用计算环境的说明性的例子。
图2是根据本发明的各个方面,表示其中客户端与服务器通信的示例性网络环境的框图。
图3到图13是根据本发明的各个方面,为使用顺序号而保持的客户和服务器的数据的表示。
具体实施例
示例性的操作环境
图1示出本发明可以实现于其中的适合的计算系统环境100的例子。计算系统环境100只是适合的计算环境的一个例子,并不意图提出对本发明的使用范围或功能的任何限制。计算环境100也不应解释为对有关示例性的操作环境100中描述的一个元件或元件组合有任何依赖或要求。
本发明在许多其他通用或专用的计算系统环境或配置中是可操作的。适合本发明使用的熟知的计算系统、环境、和/或配置的例子包括,但不限于:个人计算机、服务器计算机、手提或膝上设备、写字板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费电子产品、网络PC、微型机、大型机、包括以上任何一种系统或设备的分布式计算环境等等。
本发明的可在计算机可执行指令的一般上下文中描述,如计算机可执行的程序模块。一般来说,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。本发明也可以在分布式计算环境中实施,其中由通过通信网络链接的远程处理设备来执行任务。在分布式计算环境中,程序模块可位于包括存储器存储设备的本地和/或远程计算机存储介质中。
参考图1,用于实现本发明的示例性的系统包括计算机110形式的通用计算设备。计算机110的组件包括,但不限于,处理单元120、系统存储器130、以及连接各种系统组件,包括把系统存储器连接到处理单元120的系统总线121。系统总线121可为几种类型的总线结构的任何一种,包括:存储器总线或存储器控制器、外围总线、以及使用任何一种总线结构的局部总线。作为例子,而非限制,这些结构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、增强型ISA总线、视频电子标准协会(VESA)局部总线、以及外围组件互联(PCI)总线,也称为Mezzanine总线。
计算机110一般包括各种计算机可读介质。计算机可读介质可为计算机110可访问的任何可用介质,且包括易失和非易失的介质、以及可移动的和不可移动的介质。作为例子,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括易失和非易失的介质、可移动的和不可移动的介质,这些介质以用于信息存储的任何方法或技术,比如计算机可读指令、数据结构、程序模块或其它数据来实现。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储技术、CDROM、数字视频盘(DVD)或其它光存储器、磁性磁带、磁性录音带、磁性磁盘存储器或其它的磁性存储设备,或可用于存储需要的信息并可由计算机110访问的任何其它介质。通信介质一般包括计算机可读指令、数据结构、程序模块或在一个调制数据信号,如载波或其它传输机制中的其它数据,且包括任何信息传递介质。术语“调制数据信号”意思是以编码信号中的信息的方式设置或改变其一个或多个特征的信号。作为例子,而非限制,通信介质包括,如有线网络或直接线缆连接的有线介质,以及如声频、RF、红外线和其它无线介质。以上的任何组合也应该包括在计算机可读介质的范围内。
系统存储器130包括,以如只读存储器(ROM)131和随机存取存储器(RAM)132的易失和非易失的存储器形式的计算机存储介质。基本输入/输出系统133(BIOS)一般存储在ROM 131内,它包括如启动时帮助在计算机110内的元件间传输信息的基本例程。RAM 132一般包含可由处理单元120即时存取和/或目前在操作的数据和/或程序模块。作为例子而非限制,图1说明了操作系统134、应用程序135、其它程序模块136以及程序数据137。
计算机110还包括其它可移动/不可移动、易失/非易失的计算机存储介质。仅仅作为例子,图1示出了从不可移动、非易失的磁性介质读取或向其中写入的硬盘驱动器141、从可移动的、非易失的磁性磁盘152读取或向其中写入的磁盘驱动器151、以及用于向如CD ROM或其它光学介质的可移动、非易失的光学介质156读写的光盘驱动器155。其它能用于示例性的操作环境的可移动/不可移动、易失/非易失的计算机存储介质包括但不限于:磁性盒式磁带、闪存卡、数字多用途盘、数字视频磁带、固态RAM、固态ROM等等。硬盘驱动器141一般通过如接口140的不可移动的存储器接口连接到系统总线121,而磁盘驱动器151通过如接口150的可移动的存储器接口连接到系统总线121。
以上图1描述并示出的驱动器及其关联的计算机存储介质,为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,图1中,为存储操作系统144、应用程序145、其它程序模块146和程序数据147而示出了硬盘驱动器141。注意,这些组件可与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可与之不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给出不同的标号,以至少说明它们是不同的副本。用户可通过输入设备,如键盘162和定点设备161(通常指鼠标、跟踪球或触摸板)向计算机110输入命令和信息。其它输入设备(未在图1中示出)可包括操作杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些以及其它输入设备通常通过连接到系统总线的用户输入接口160,连接到处理单元120,但是也可以通过其它接口和总线结构相连,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接到系统总线121。监视器191也可以与触摸屏面板等集成。注意,监视器和/或触摸屏面板可以物理连接到其中结合了计算设备110的外壳,如一写字板类型的个人计算机中。此外,如计算设备110的计算机也可包括其他外围输出设备,如扬声器195和打印机196,它们通过外围接口194等进行连接。
计算机110可以工作在使用到一个或多个如远程计算机180的远程计算机的逻辑连接的网络化环境中。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,且一般包括与计算机110相关的许多或所有上述元件,尽管图1中仅说明了存储器存储设备181。图1所示的逻辑连接包括局域网(LAN)171以及广域网(WAN)173,但也可包括其他网络。这种网络环境常见于办公室、企业范围的计算机网络、内联网以及因特网。
当用于LAN网络环境时,计算机110通过网络接口或适配器170连接到局域网171。当用于WAN网络环境时,计算机110一般包括调制解调器172或其他装置,用于在如因特网的广域网173上建立通信。调制解调器172可为内置或外置,它通过用户输入接口160或其他适合的机制连接到系统总线121。在网络化环境中,所述与个人计算机110有关的程序模块,或其一部分可存储在远程存储设备内。作为例子,而非限制,图1示出了驻留在存储器设备181上的远程应用程序185。应该认识到。所示的网络连接是示例性的,并且在计算机间建立通信的其他手段也可以使用。
利用顺序号的数据通信的协调
这里描述的技术的各个方面针对可用于数据通信协议中的机制,如SMB协议的修改版本(2.x或更高)。一般在这里描述的实现的一个例子中,所述机制控制该修订的SMB协议中的数据/命令流,用于基于Windows的文件共享。然而,容易理解,本发明并不限于基于Windows的系统或SMB协议,而是相反,这种示例性技术一般可适用于其他文件共享协议和数据通信协议,包括那些不必处理文件数据的协议。例如,实现本发明的许多方式都是可行的,包括,用于与打印机、指定的数据管道、类属设备等等的通信。同样,本发明并不限于这里所使用的任何特定的基于文件的例子或其他例子,而是可用于一般在计算中提供益处和优点的许多方式。
转到图2,示出了代表示例性的网络环境的框图,其中客户端202通过一个或多个通信信道与服务器204通信。尽管按照位于两个分离的计算机内,如图1的主计算机系统110和远程计算机系统180,对客户端机器202和服务器204的功能和组件进行了描述,但可在一个机器上或可分布于许多计算机上提供这两个计算机的组件或其执行的功能。例如,计算机系统可包含多种网络应用设备之一,如打印服务器或打印机本身、以及NAS存储设备等等。
来自应用程序206的网络文件系统命令由客户端重定向器组件208进行处理,该命令与对应的公共网络模块(SRVNET)210进行通信,以在文件系统212上执行该命令。一般来说,客户端202建立一连接,然后与服务器204协商,以最终建立会话。作为其中一部分,在处理针对文件系统的命令之前,客户端和服务器商定一通信协议。这个例子中,用于该连接/会话的经商定的协议是SMB 2.0,借此,客户端的SMB引擎220采用SMB 2.0驱动器进行与服务器204之间的通信。类似地,公共网络模块(SRVNET)210采用SMB 2.0提供器226来处理此连接上的客户端通信。如下所述,提供器226包括确保客户端使用合适的顺序号的实施机制和数据结构,或另外与之相关联。
转到利用顺序号的数据通信协调的概念,顺序号提供了一种机制,其中服务器可通过该机制限制给定客户端能够对服务器发出的工作量。如即将理解的那样,这是通过使服务器提供允许客户端在标识给定命令时使用的可用顺序号的窗口来实现的。为了实现顺序号和想要的行为,采用信用的概念,这里信用授予客户端消耗服务器端的部分资源的权利,这些资源包括客户端可消耗的要求返回操作的存储器以及CPU周期。客户端每发送一个命令就消耗一个信用,且依赖于服务器的响应,可被授予零、一个或多个额外的信用。不允许客户端重复使用一顺序号,因此客户端能发出的命令数受到控制。注意,为方便起见,使用单调增加的顺序号,然而,任何唯一的(每个会话/连接)号码都是等效的。
例如,如果服务器授予客户端五个信用,则该服务器给予客户端同时提交五个操作的权利。当服务器需要限制客户端时,服务器减少给该客户端的可用信用。当服务器希望给予客户端更多有用的资源时,服务器可授予客户端信用。
这就给服务器若干选项。通过向客户端授予零个信用,服务器停止对该客户端的资源分配。或者,通过返回一个信用,服务器保持先前的窗口大小。通过返回一个以上的信用,服务器允许客户端使用更多的资源用于执行命令。假定该协议严格意义上为命令-响应协议,一个限制是服务器不能允许窗口大小为零(没有有效的顺序号),除非有办法授予带外(out of band)的信用。注意,如果存在授予客户端信用的方法而不要求客户端在使用这种方法的协议内请求这些信用,那么不会存在这种限制。
注意,协商请求/响应具有为0的顺序号(也称为信息标识符,或MID),以及大小为1的窗口。在SMB 2.0中,以下的头部方便了这种信息的传递,如在前述有关的共同待决的、名为“Data Communication Protocol”的美国专利申请中进一步描述的那样:typedef struct_SMB2_HEADER{
UCHAR Protocol[4]; //包含0xFE,′S′,′M′,′B′
USHORT StructureSize; //=sizeof(SMB2_HEADER).
//(版本化)
USHORT Epoch; //每次服务器重启时递增
NTSTATUS Status; //命令的状态
USHORT Command; //用于此分组联合的命令
{
USHORT CreditsRequested; //在客户端发送时,请求更多信用
USHORT CreditsGranted; //在服务器响应时,授予客户端信用
};
ULONG Flags;
ULONG Reserved;
UINT64 MessageId; //标识该信息 发送/响应
union
{
struct
{
UINT64 ProcessId; //进程标识符
UINT64 SessionId; //会话标识符
ULONG TreeId; //树形连接(Tree Connect)标识符
};
struct
{
UINT64 AsyncId; //用于标识长期持续的命令
};
};
UCHAR Signature[8]; //分组的签名
ULONG NextCommand; //到下一个的偏移
}_SMB2_HEADER,*PSMB2_HEADER;
从以上头部结构中可以看出,客户端请求许多想要的信用,然而服务器控制向客户端授予信用。因此,服务器能够基于客户端的身份、行为或任何其他属性或标准来缩减或增加窗口。顺序号也提供一种方式以唯一标识对于一给定的连接从客户端向服务器发送的命令。
通过建立命令窗口,客户端和服务器开始。通过使用默认或协商的初始顺序号(ISN)(也称为初始信息标识符,或MID)和信用数(NoC)来启动命令窗口,该命令窗口代表服务器将接受以标识给定命令的可允许号码的范围。因此,该命令窗口最初包含[ISN,ISN+NoC-1]。对大多数协议而言,默认可为ISN=1,NoC=1,因此当第一次协商时,该命令窗口简单地为[1,1],代表服务器将接受以标识命令的唯一顺序号为一(1)。
随着通信的进行,客户端通过用完该范围内的号码而移到窗口低处的号码。一旦使用一号码,它就不能被再次使用,这是由服务器实施的。同时,服务器可确定通过授予用户更多的信用来延伸窗口末端。例如,如果命令窗口为[A,B],当客户端发送命令A时,有效的命令窗口实质上变为[A+1,B]。当服务器响应命令A时,它可向客户端授予从零到任何实际数量的信用。因此,如果服务器返回N个信用,则有效命令窗口变为[A+1,B+N]。
对于可允许范围内的顺序号的使用不要求是按次序的。该协议是为方便顺序号的异步使用而建立的,只要被使用的号码在有效范围内。这就允许网络协议发送可用的分组,而不是尝试实施有序的发送。因此,如果很大的分组要求顺序号A,但在准备缓冲器的同时,A+1而A+2进入且它们很小,则无需等待启动A的发送而发送A+1和A+2(只要窗口的末端≥A+2)是合法的。
注意,如果存在有效命令窗口[1,5],并发送分组2,3,4,则服务器可回授允许除{2,3,4}之外的窗口[1,8](意思是1和8之间除2到4以外的所有号码)的信用。最终,服务器将有可能停止授予信用,直到发送分组1且允许该窗口滑动(slide)。如果在这一点上,客户端发送1,且服务器响应而授予信用,则窗口变为[5,9]。
有效命令窗口的实施是在服务器端进行的。该系统允许象客户端结构与具有当前顺序号和最大顺序号,以及使用互锁的比较和增量作为唯一要求的异步方法一样简单。
因此,有效命令窗口(也称为有效操作或有效Op窗口)包含服务器会接受的有效标识符的窗口。客户端用下一个有效顺序号发送每个后续命令(一直到其有效信用为止),不需要保持有效窗口的视图。要求客户端理解以下描述的“最大窗口大小”的概念。下面提出使用有效命令/操作窗口的例子。
可能阻塞达不确定的时间量的任何操作,如改变-通知或指定的管道读取或创建(因为它可能待决于操作锁的中断),被认为是阻塞操作。为了方便这种操作,客户端可在发送的命令中提供“操作上下文”值,即阻塞标记。然后,当服务器成功地发起该操作时,它做出响应,允许递增顺序号,即使该操作仍然在服务器端进行。然而,这种长期运行的操作所持有的资源经常是常规命令要求的资源的子集。因此,允许服务器确定允许客户端消耗的“阻塞Op信用”(也称为长期操作信用,或LOC)的最大数量。顺序号也允许长期运行的命令和带有来自服务器的多重响应的命令,通过控制客户端可以消耗多少资源来加以平衡。
因此,对有效命令窗口的延伸允许该窗口继续正常滑动,且不会被可能花费不确定时间量的操作所阻碍。为此,服务器授予客户端一给定数量的阻塞Op信用,且带有阻塞Op标记而发出的任何操作将消耗阻塞Op信用。当服务器接收命令时,服务器可向客户端发回带有确认对长期命令的接收并返回长期命令ID(也称为异步标识符(AsyncID))的标记集的中间响应。这个响应允许有效命令窗口正常滑动。当该长期命令结束时,使用该长期命令ID向客户端发回新的响应,以指示响应于哪个分组。这种发送-响应一响应架构允许窗口连续移动,且该信用机制允许服务器保留对客户端可消耗多少资源的控制。如果存在来自客户端的大量正在进行的长期操作,服务器甚至可以缩减有效命令窗口。
替代性的实施例包括允许客户端向服务器暗示长期命令即将到来的协议。异步概念的另一中实现还可使客户端发出中间“接受”等等,以便异步/阻塞操作采用与简单的发送-接收-接收相对的“发送-接收-发送-接收”的形式。注意,经常为请求-响应通信调谐一些基础传输(例如,TCP),且可能在请求-响应-响应情况下引入延迟。
因为协议和传输的异步特性,当前的有效窗口并不直接等于当前最小的顺序ID加上信用,因为一些中间命令可能会首先被接收,或者例如,顺序ID=1的命令可能长期进行。然而,服务器可在有效窗口停止增长之前对其设置能够增长到多大的限制。继续以上的例子,服务器可指定最大窗口大小为十(10)。这就意味着如果服务器在接收或完成分组1的处理之前,接收并处理分组2,3,4,5和6,则有效操作(命令)窗口可增至[1,10]。因此,有效的顺序号为1,7,8,9,10。然而,如果服务器然后接收分组7并处理它,则有效操作(命令)窗口将不会滑动至[1,11],而是保持在[1,10],可接受的顺序号为1,8,9,10。对命令8的响应会指示(-1)的信用,以告知该客户端他正到达其可接受的限制的末端,即,现在其信用值为4。这是服务器防止客户端曾跳过顺序内的给定号码(这会防止窗口很好地滑动)的一种方式。这也证明了对那些将持续很长时间的命令对服务器发出“阻塞Op”的价值。
跟踪服务器端的有效命令窗口在计算上可能是代价高的,因为服务器需要保持对交集(intersecting sets)的跟踪。为了简化,一个示例性实现将建立上述的最大窗口大小,作为服务器将允许命令窗口的最大值。一旦建立该最大值,服务器分配代表该大小的缓冲器,且当命令进入时,缓冲器内此位置的值就会改变。只要该窗口大小保持小于或等于最大窗口大小,则随着窗口开始向前移动,服务器向前移动其缓冲器指针。同样地,当由于授予信用而使末端增长时,服务器沿缓冲器移动其末端指针。运算器处理缓冲器“覆盖(wrap)”最大窗口大小的情况。通过分配更大的缓冲器并把当前的值复制进去,就可能动态增长最大窗口大小。使用互锁操作来跟踪窗口内有效命令的状态,以AVAILABLE(可用)开始。一旦从客户端接收命令,它们转移到IN_PROGRESS,且当发出响应(或者对于长期运行命令情况时为中间响应)时,它转移到USED。如果转移到USED的值是窗口内的第一个值,则该窗口向前滑动,直到遇到非USED的值。
另一个备选方案允许服务器通过备用信道(alternate channel)或通过未排序的通信来调用信用。例如,考虑服务器已经授予客户端十个信用,但希望裁减到五个信用,这一般不会发生,直到客户端使用五个命令。如果该客户端空闲,服务器可指示客户端在接下来的N秒内必须使用五个信用,否则它就违规且会被终止(或者失去这些信用)。这就允许服务器限制客户端,而不必依靠客户端去移动它们自己的窗口。
通过使用各种例子,转到对本发明的操作的说明,当前状态将以下面的格式提出:
Min:1 | 当前信用:(5,1) | 信用:(5,1) | 有效:[1,5]除{} | Max:[1,11] |
“Min”列示出了允许客户端使用的最低的未被使用的客户端顺序号;“当前信用”是以(正常信用,阻塞Op信用)的形式授予客户端多少信用。客户端对发送消耗信用,且可能基于接收(依赖于响应)重新递增信用。下一列,“信用”简单示出了允许客户端的信用的当前最大数量。
“有效”和“Max”表示用于顺序标识符确认的服务器端的结构(注意,客户端不需要对此有任何想法)。“有效”示出了伴随除了已经使用的顺序标识符(例如,由位图跟踪)的有效Op窗口,而“Max”示出了客户端曾在完成第一个操作,即导致窗口移动的操作之前能填入的MaxCommandWindow(最大命令窗口)。
图3到图9代表服务器204保持的有效操作(有效Op)窗口330s如何增长的例子(注意,在图3到图9中,随着有效操作窗口的改变,其标号的第一个数字改变,例如,图3的有效操作窗口标号为330s,图4的有效操作窗口标号为430s等等)。
在图3中,授予客户端5个信用以及起始顺序号(或MID)1。分配器组件322使用以上一般描述的一些标准320(如客户端的类型)来确定授予客户端的量。这个例子中,当前有效操作窗口因此为[1,5],如图5中由窗口330s内的单个数字垂直地表示。因此,服务器204将接受带有来自该客户端202的顺序号为1,2,3,4或5的分组。备选地,这以上述格式如下表示:
Min:1 | 当前信用:(5,1) | 信用:(5,1) | 有效:[1,5]除{} | Max:[1,11] |
使用有效Op窗口320s,以随意地拒绝分组;如果这些分组在有效Op窗口320s内,则服务器204检查内部例外映射(exception map),以保证顺序号未被使用。
在单调增加的接收的一般情况下,客户端发送MID=1的分组,且客户端和服务器转移至图4和下面的表所表示的状态(注意,[1,5]被认为是有效的,但1只对来自服务器的响应是真正有效的,对来自客户端的另一个接受是无效的,这对于首先检验Min=2来说会失败)。
Min:2 | 当前信用:(4,1) | 信用:(5,1) | 有效:[1,5]除{1} | Max:[1,11] |
图4中,服务器接收并处理顺序号等于1的命令。这就意味着1对后续命令来说不再是有效的顺序号,如以上表内“有效/除”列内和图4的标号430s的有效操作窗口内的带括号的{1}所表示那样。
当服务器响应时,根据响应,它授予客户端一额外的(+1)信用,并滑动窗口,如图5和以下表所示:
Min:2 | 当前信用:(5,1) | 信用:(5,1) | 有效:[2,6]除{} | Max:[2,12] |
现在,客户端的有效窗口为[2,6]。考虑当出现乱序接收时,例如,传输中的异步发送使得服务器在接收命令2(以及对其响应)之前接收命令3。则将在概念上存在有效Op窗口630s,如图6和以下所示:
Min:2 | 当前信用:(5,1) | 信用:(5,1) | 有效:[2,7]除{3} | Max:[2,12] |
注意,在该表中,有效窗口延伸,但最大窗口并未滑动。然而,当服务器接收命令2并响应时,窗口730s将滑动,如图7和以下所示:
Min:4 | 当前信用:(5,1) | 信用:(5,1) | 有效:[4,8]除{} | Max:[4,14] |
接下来考虑恶意客户端试图通过发送命令并拒绝响应来用尽服务器上的资源的情况。这里,该客户端已经向服务器发送命令4和5,并拒绝响应。则状态变为图8和以下所示:
Min:6 | 当前信用:(3,1) | 信用:(5,1) | 有效:[4,8]除{4,5} | Max:[4,14] |
发送顺序标识符为6,7,8的命令后,因为信用实施,客户端缺少信用且所有分组都被拒绝,如图9和以下表所示:
Min:9 | 当前信用:(0,1) | 信用:(5,1) | 有效:[4,8]除{4,5,6,7,8} | Max:[4,14] |
转到最大窗口实施的例子,使用图10到图13及其类似的表。考虑恶意客户端试图发送分组N+1且没有发送分组N的情况。图10到图13的例子将在最后的攻击者之前的状态开始,即,图10本来是图7:
Min:4 | 当前信用:(5,1) | 信用:(5,1) | 有效:[4,8]除{} | Max:[4,14] |
客户端发送命令5,6,7,8,9,10,且服务器做出响应,当没有发送命令4。图11和以下表示出了这种状态:
Min:4 | 当前信用:(5,1) | 信用:(5,1) | 有效:[4,14]除{5,6,7,8,9,10} | Max:[4,14] |
注意,客户端仍然有5个信用,因为命令窗口内仍有5个可行的时隙(slot)。然而,当客户端发送命令11且服务器响应时,存在图12和以下表中的情况:
Min:4 | 当前信用:(4,1) | 信用:(5,1) | 有效:[4,14]除{5,6,7,8,9,10,11} | Max:[4,14] |
注意,然后客户端继续发送命令12,13,14。对于每个命令,客户端的可用信用数逐一减少,因为MaxWindow内没有可用的时隙。对命令12,13,14,这将会继续:
Min:4 | 当前信用:(1,1) | 信用:(5,1) | 有效:[4,14]除{5,6,7,8,9,10,11,12,13,14} | Max:[4,14] |
现在,服务器将从客户端接受的唯一命令是命令4,如图13所示。
很容易理解,顺序号的窗口的属性在许多想要的情况中是非常具有优势的。这些情况中的一些包括防止服务拒绝,允许服务质量,为客户端和服务器提供公共语言以引用在给定连接上执行的命令、允许长期运行命令和带有来自服务器的多重响应的命令、但用控制客户端能够消耗多少资源来平衡它,以及允许安全签名的连续使用。
就防止服务拒绝而言,服务器可限制给定的客户端连接可消耗的资源的数量,直到服务器鉴别了该客户端且该客户端行为正确。例如,通过允许服务器控制分配给客户端的资源,当检测到明显的攻击时,服务器能进入“应急模式”,其中服务器把其客户端可用的资源减至最少,并以信任的方式回授它们。服务器给每个客户端足够小的窗口,以允许进行工作,但防止任何单个客户端实质上控制所有资源。当攻击过去或减小时,服务器可对证明值得信任的客户端重新授予资源。
就允许服务质量而言,可用的窗口模式允许服务器基于客户端的身份和/或其行为来缩放分配给他们的资源数量。例如,服务器可向连接到文件服务器的web服务器分配比访问单独文档的单个用户更多的资源。作为另一个例子,如果另一个服务器是正访问文件服务器的数据库,则文件服务器可比授予普通用户的信用数更高地对授予的信用数加权。
而且,当控制服务质量时,对客户端的资源分配可基于客户端的各种需要而动态改变。这就允许服务器以完全公平的方式,或考虑其他信息来授予信用。管理员可基于资源优先级来配置机器,且可随用户连接和断开连接来利用这一点并动态变化。
顺序号还为客户端和服务器提供公共语言,以引用在给定连接上执行的命令。这有助于建立各种特征,包括持久的句柄。例如,因为客户端和服务器都商定了用于在发送和接收命令时标识命令的公共语言,即顺序号机制,则当发生断开连接时,基于连接重建,服务器和客户端有一种直接的方式来确定接收了哪些命令以及和未接收哪些命令。没有这种设定模式,则很难进行跟踪,特别是当命令标识符是由客户端选择的并且被再次使用时更是如此。
顺序号进一步允许安全签名的连续使用,而没有当前模型的极端性能问题;发送不需要排序(尽管仍需要计算整个分组的校验和,并在发出之前接收整个分组)。就分组签名而言,可重放性(replayability)是可能的。更为具体地,进行签名的网络协议需要把索引号嵌入分组中,以防止已签名的分组的可重放性,否则攻击者可简单地重发该分组而无需重新签名,而该分组仍然有效。其他方法包括时间标签等等,然而这些方法要求客户端和服务器之间的某种形式的同步。如果使用索引号,通常客户端和服务器之间的网络通信量变为串行化,因为客户端必须确保在其发送分组2之前服务器接收分组1。
利用作为命令标识符嵌入的顺序号,以及服务器上支持的有效窗口,利用其内的顺序号的并行命令发送就自然地发生。服务器实施有效窗口,以便每个命令只能被发出一次,由此可重放性不再是问题,只要该协议确保用于签名的密钥对于每个经鉴别的连接来说是唯一的。注意,如果命令标识符滚动(rollover),则可重放性可能成为问题,且因此32位或64位左右的顺序号对于防止这一点来说是合乎需要的,如果允许断开的连接的重新建立,则64位可能更为合乎需要。
尽管附图示出且以上详细描述了说明性的实施例,但本发明可以做出各种修改和替代性的构造。然而,应该理解,这里并未意图将本发明限制在所揭示的特定形式中,相反,本发明将覆盖所有变化、替代性的构造、以及落入本发明的精神和范围内的等价物。
Claims (20)
1.在具有客户端和服务器的网络计算环境中的一种方法,该方法包含:
授予客户端至少一个信用,每个信用对应该客户端可用于向服务器发送命令的一顺序号,一个或多个顺序号的集合构成有效命令窗口;以及
强制实施对于每个接收到的命令,该命令包括有效命令窗口内的一顺序号,且该顺序号不曾被另一个命令所使用。
2.如权利要求1所述的方法,其特征在于,进一步包括:保持最大窗口大小,以便具有信用的客户端不能发送带有超过与最大窗口大小对应的最大顺序号的顺序号的命令。
3.如权利要求1所述的方法,其特征在于,进一步包括:响应于接收命令,向所述客户端返回调整窗口的未使用的顺序号。
4.如权利要求3所述的方法,其特征在于,未使用的顺序号是相对于有效命令窗口内的最近的号码单调增加的值。
5.如权利要求1所述的方法,其特征在于,每个顺序号是长度为32位或更大的固定大小的值。
6.如权利要求1所述的方法,其特征在于,进一步包括:授予客户端至少一个阻塞操作信用,且在服务器强制实施客户端不超过使用的阻塞操作信用的最大数量。
7.如权利要求6所述的方法,进一步包括:接收与阻塞操作信用对应的命令,返回指示阻塞操作正在进行的数据,并伴随用于此操作的、在该阻塞操作一旦完成时就返回的标识符。
8.如权利要求7所述的方法,进一步包括:响应于接收阻塞操作命令,向客户端返回调整窗口的未使用的顺序号。
9.如权利要求1所述的方法,进一步包括:接收来自客户端的对额外的信用的请求,并拒绝该请求,以减少客户端可用的信用数。
10.如权利要求1所述的方法,进一步包括:少调用至少一个先前授予客户端的信用。
11.如权利要求10所述的方法,进一步包括:通知该客户端将调用至少一个信用,除非该信用在调用之前被使用。
12.至少一种包含计算机可读指令的计算机可读介质,当执行该指令时,执行以下步骤,包括:
授予客户端多个信用,每个信用与该客户端用于向服务器发送命令的顺序号对应,顺序号构成有效命令窗口;以及
一旦从该客户端接收命令就:
验证该顺序号是否在窗口内且之前是否未被使用过;
从该客户端可使用的顺序号中除去相应的顺序号,并消耗一个信用;以及
确定是否授予该客户端至少一个其他的信用。
13.如权利要求12所述的计算机可读介质,其特征在于,服务器确定授予客户端至少一个其他的信用,并基于授予的每个信用,用相应的顺序号调整有效命令窗口。
14.如权利要求12所述的计算机可读介质,其特征在于,服务器确定不授予该客户端另一个信用,从而动态地减少了该客户端可用的信用。
15.如权利要求12所述的计算机可读介质,其特征在于,服务器通过评估最大窗口大小,确定不授予该客户端另一个信用。
16.如权利要求12所述的计算机可读介质,其特征在于,具有进一步的计算机可执行指令,包括:调用至少一个先前授予用户的信用。
17.如权利要求12所述的计算机可读介质,其特征在于,具有进一步的计算机可读指令,包括:通知该客户端将调用至少一个信用,除非该信用在调用之前被使用。
18.在具有客户端和服务器的网络计算环境中的一种服务器端的系统,它包含:
通过控制授予客户端的信用数来限制服务器资源的使用的机制,该机制包括:
包含对于授予客户端的每个信用唯一的号码的有效操作窗口;
确保允许对接收到的命令的进一步的服务器操作的实施机制,该命令包括有效操作窗口内的一顺序号,且该唯一号码从未被另一个命令所使用;和控制授予客户端的信用和有效操作窗口内的唯一号码的分配机制。
19.如权利要求18所述的系统,其特征在于,用于限制服务器资源的使用的机制与服务器信息阻塞协议驱动器相关联。
20.如权利要求18所述的系统,其特征在于,该机制包括用于调用至少一个先前授予客户端的信用的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210434813.2A CN102932457B (zh) | 2005-05-25 | 2005-12-09 | 用于利用顺序号的数据通信协调的方法和系统 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US68500805P | 2005-05-25 | 2005-05-25 | |
US60/685,008 | 2005-05-25 | ||
US11/182,989 | 2005-07-15 | ||
US11/182,989 US8316129B2 (en) | 2005-05-25 | 2005-07-15 | Data communication coordination with sequence numbers |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210434813.2A Division CN102932457B (zh) | 2005-05-25 | 2005-12-09 | 用于利用顺序号的数据通信协调的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1870643A true CN1870643A (zh) | 2006-11-29 |
CN1870643B CN1870643B (zh) | 2012-12-19 |
Family
ID=35520984
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110329007.4A Active CN102394872B (zh) | 2005-05-25 | 2005-12-09 | 数据通信协议 |
CN201210434813.2A Active CN102932457B (zh) | 2005-05-25 | 2005-12-09 | 用于利用顺序号的数据通信协调的方法和系统 |
CN2005101279978A Active CN1870642B (zh) | 2005-05-25 | 2005-12-09 | 用于通过使用数据通信协议在网络计算环境内通信的方法 |
CN2005101279982A Active CN1870643B (zh) | 2005-05-25 | 2005-12-09 | 用于利用顺序号的数据通信协调的方法和系统 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110329007.4A Active CN102394872B (zh) | 2005-05-25 | 2005-12-09 | 数据通信协议 |
CN201210434813.2A Active CN102932457B (zh) | 2005-05-25 | 2005-12-09 | 用于利用顺序号的数据通信协调的方法和系统 |
CN2005101279978A Active CN1870642B (zh) | 2005-05-25 | 2005-12-09 | 用于通过使用数据通信协议在网络计算环境内通信的方法 |
Country Status (7)
Country | Link |
---|---|
US (7) | US8316129B2 (zh) |
EP (4) | EP3098732B1 (zh) |
CN (4) | CN102394872B (zh) |
AT (2) | ATE413653T1 (zh) |
DE (1) | DE602005010837D1 (zh) |
ES (1) | ES2604972T3 (zh) |
HK (5) | HK1121886A1 (zh) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7529778B1 (en) | 2001-12-12 | 2009-05-05 | Microsoft Corporation | System and method for providing access to consistent point-in-time file versions |
US7617256B2 (en) * | 2004-07-19 | 2009-11-10 | Microsoft Corporation | Remote file updates through remote protocol |
US8316129B2 (en) | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
US20060282545A1 (en) * | 2005-06-11 | 2006-12-14 | Arwe John E | Method and apparatus for application or protocol version negotiation |
US7975030B2 (en) * | 2006-05-09 | 2011-07-05 | Cisco Technology, Inc. | Remote configuration of devices using a secure connection |
US20080005558A1 (en) * | 2006-06-29 | 2008-01-03 | Battelle Memorial Institute | Methods and apparatuses for authentication and validation of computer-processable communications |
US8966000B2 (en) * | 2007-06-22 | 2015-02-24 | Microsoft Corporation | Aggregation and re-ordering of input/output requests for better performance in remote file systems |
US20090077248A1 (en) * | 2007-09-14 | 2009-03-19 | International Business Machines Corporation | Balancing access to shared resources |
US8935336B2 (en) * | 2008-06-18 | 2015-01-13 | Cisco Technology, Inc. | Optimizing program requests over a wide area network |
US8482766B2 (en) * | 2009-01-08 | 2013-07-09 | Infoprint Solutions Company Llc | Automatic adjustment print job submission mechanism |
US8078848B2 (en) | 2009-01-09 | 2011-12-13 | Micron Technology, Inc. | Memory controller having front end and back end channels for modifying commands |
US9325790B1 (en) | 2009-02-17 | 2016-04-26 | Netapp, Inc. | Servicing of network software components of nodes of a cluster storage system |
US9215279B1 (en) | 2009-02-17 | 2015-12-15 | Netapp, Inc. | Servicing of storage device software components of nodes of a cluster storage system |
US20110307707A1 (en) * | 2009-03-25 | 2011-12-15 | Pacid Technologies, Llc | Method and system for securing a file |
WO2010111438A2 (en) | 2009-03-25 | 2010-09-30 | Pacid Technologies, Llc | System and method for protecting a secrets file |
US8782408B2 (en) | 2009-03-25 | 2014-07-15 | Pacid Technologies, Llc | Method and system for securing communication |
US8055816B2 (en) | 2009-04-09 | 2011-11-08 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
US8856349B2 (en) * | 2010-02-05 | 2014-10-07 | Sling Media Inc. | Connection priority services for data communication between two devices |
CN101867572B (zh) * | 2010-05-11 | 2015-08-12 | 中兴通讯股份有限公司 | 无线优盘的实现方法及系统 |
JP5743469B2 (ja) | 2010-09-22 | 2015-07-01 | キヤノン株式会社 | 情報処理装置、その制御方法、及び制御プログラム |
US8806030B2 (en) | 2010-12-06 | 2014-08-12 | Microsoft Corporation | Multichannel connections in file system sessions |
US8631277B2 (en) | 2010-12-10 | 2014-01-14 | Microsoft Corporation | Providing transparent failover in a file system |
US9331955B2 (en) | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US8856582B2 (en) | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
US8788579B2 (en) | 2011-09-09 | 2014-07-22 | Microsoft Corporation | Clustered client failover |
US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
TWI511596B (zh) * | 2011-11-21 | 2015-12-01 | 華碩電腦股份有限公司 | 提供遠端存取的通訊系統及其通訊方法 |
US8924573B2 (en) * | 2012-03-12 | 2014-12-30 | Microsoft Corporation | Secure capability negotiation between a client and server |
US9077772B2 (en) * | 2012-04-20 | 2015-07-07 | Cisco Technology, Inc. | Scalable replay counters for network security |
CN102932468B (zh) * | 2012-11-07 | 2016-02-10 | 曙光信息产业股份有限公司 | 共享数据访问方法 |
US9984083B1 (en) | 2013-02-25 | 2018-05-29 | EMC IP Holding Company LLC | Pluggable storage system for parallel query engines across non-native file systems |
US9753980B1 (en) * | 2013-02-25 | 2017-09-05 | EMC IP Holding Company LLC | M X N dispatching in large scale distributed system |
US9424273B2 (en) * | 2013-05-01 | 2016-08-23 | Netapp, Inc. | System and method for asynchronous use of a network-based file system |
US9582561B2 (en) | 2013-07-16 | 2017-02-28 | Sap Se | Size-based data synchronization |
US9961125B2 (en) | 2013-07-31 | 2018-05-01 | Microsoft Technology Licensing, Llc | Messaging API over HTTP protocol to establish context for data exchange |
EP3061009B1 (en) * | 2013-10-22 | 2021-02-17 | Tata Consultancy Services Limited | Window management for stream processing and stream reasoning |
US10440066B2 (en) * | 2013-11-15 | 2019-10-08 | Microsoft Technology Licensing, Llc | Switching of connection protocol |
US9973599B2 (en) * | 2013-12-04 | 2018-05-15 | Mediatek Inc. | Parser for parsing header in packet and related packet processing apparatus |
CN104050284B (zh) * | 2014-06-27 | 2017-11-10 | 北京思特奇信息技术股份有限公司 | 一种基于单进程的数据异步查询方法及系统 |
EP3243317B1 (en) * | 2015-01-05 | 2024-04-10 | Convida Wireless, LLC | Machine-to-machine protocol indication and negotiation |
US11144504B1 (en) * | 2015-03-31 | 2021-10-12 | EMC IP Holding Company LLC | Eliminating redundant file system operations |
US11151082B1 (en) * | 2015-03-31 | 2021-10-19 | EMC IP Holding Company LLC | File system operation cancellation |
US11294862B1 (en) * | 2015-03-31 | 2022-04-05 | EMC IP Holding Company LLC | Compounding file system metadata operations via buffering |
US11681531B2 (en) | 2015-09-19 | 2023-06-20 | Microsoft Technology Licensing, Llc | Generation and use of memory access instruction order encodings |
CA3017644A1 (en) * | 2016-03-24 | 2017-09-28 | Spectrum Brands, Inc. | Wireless lockset with anti-hacking feature |
DE102016221233B3 (de) * | 2016-10-27 | 2017-09-14 | Volkswagen Aktiengesellschaft | Verfahren zum Verwalten einer ersten Kommunikationsverbindung, System umfassend einen ersten Kommunikationspartner und einen zweiten Kommunikationspartner sowie Fahrzeug |
WO2018094686A1 (zh) * | 2016-11-25 | 2018-05-31 | 华为技术有限公司 | 一种smb业务故障处理方法和存储设备 |
US11010400B1 (en) * | 2017-02-15 | 2021-05-18 | Citigroup Technology, Inc. | Computer file copy systems and methods |
US10555310B2 (en) * | 2017-05-01 | 2020-02-04 | Qualcomm Incorporated | Forward compatibility in new radio systems |
US10965572B2 (en) | 2017-05-01 | 2021-03-30 | Bank Of America Corporation | Data transfer control |
US10446022B2 (en) * | 2017-06-09 | 2019-10-15 | Here Global B.V. | Reversible lane active direction detection based on GNSS probe data |
CN111628845B (zh) * | 2017-09-01 | 2022-12-06 | 惠州市德赛西威汽车电子股份有限公司 | 一种提高数据传输效率的方法 |
US10963295B2 (en) * | 2017-09-08 | 2021-03-30 | Oracle International Corporation | Hardware accelerated data processing operations for storage data |
US10911547B2 (en) * | 2017-12-28 | 2021-02-02 | Dell Products L.P. | Systems and methods for SMB monitor dialect |
US10789200B2 (en) | 2018-06-01 | 2020-09-29 | Dell Products L.P. | Server message block remote direct memory access persistent memory dialect |
US20210274025A1 (en) * | 2018-06-25 | 2021-09-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication protocol discover method in constrained application protocol (coap) |
JP7077896B2 (ja) * | 2018-09-25 | 2022-05-31 | ブラザー工業株式会社 | 通信装置及び通信装置のためのコンピュータプログラム |
CN109507931B (zh) * | 2018-12-13 | 2020-10-02 | 中电智能科技有限公司 | 基于CAN open通信协议的通信卡 |
EP3977260A4 (en) * | 2019-05-29 | 2023-01-25 | Tada Cognitive Solutions, LLC | DIGITAL DUPLICATE |
US11461293B2 (en) | 2019-08-19 | 2022-10-04 | TADA Cognitive Solutions, LLC | Processes and systems for onboarding data for a digital duplicate |
US10909160B2 (en) | 2019-05-29 | 2021-02-02 | TADA Cognitive Solutions, LLC | Digital duplicate |
US11301573B2 (en) | 2019-08-19 | 2022-04-12 | TADA Cognitive Solutions, LLC | Data security using semantic services |
US11647988B2 (en) | 2019-11-19 | 2023-05-16 | Siemens Medical Solutions Usa, Inc. | Additional diagnostic data in parametric ultrasound medical imaging |
CN111464422B (zh) * | 2020-03-27 | 2022-01-07 | 京东科技信息技术有限公司 | 交互方法、装置、电子设备及存储介质 |
US11455588B2 (en) | 2020-09-04 | 2022-09-27 | TADA Cognitive Solutions, LLC | Data validation and master network techniques |
CN112565217B (zh) * | 2020-11-26 | 2023-01-10 | 北京天融信网络安全技术有限公司 | 基于协议的混淆通信方法及客户终端、服务器、存储介质 |
KR20220143363A (ko) * | 2021-04-16 | 2022-10-25 | 한국과학기술원 | 네트워크에 연결된 시스템의 보안을 위한 프로토콜 다이얼렉트 기법 |
US11240318B1 (en) * | 2021-05-11 | 2022-02-01 | Integrity Security Services Llc | Systems and methods for virtual multiplexed connections |
CN113660341A (zh) * | 2021-08-18 | 2021-11-16 | 中电科航空电子有限公司 | 一种机载cmu与无线电通信电台之间的通信方法 |
Family Cites Families (251)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH594721A5 (zh) | 1974-09-05 | 1978-01-31 | Ciba Geigy Ag | |
JPS571681A (en) | 1980-05-24 | 1982-01-06 | Makita Electric Works Ltd | Holder for attitude of nail of nail driver |
US4399504A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
JPS6019341Y2 (ja) | 1982-01-29 | 1985-06-11 | エスエムケイ株式会社 | ロツク付コネクタ |
JPS5958597A (ja) | 1982-09-28 | 1984-04-04 | 富士通株式会社 | 自動預金支払機 |
JPS6019341U (ja) | 1983-07-19 | 1985-02-09 | ヤンマー農機株式会社 | コンバインの脱穀装置 |
JPS613496U (ja) | 1984-06-13 | 1986-01-10 | 株式会社東芝 | タ−ビンミサイルの防護装置 |
US4825354A (en) | 1985-11-12 | 1989-04-25 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method of file access in a distributed processing computer network |
US4736369A (en) | 1986-06-13 | 1988-04-05 | International Business Machines Corp. | Adaptive session-level pacing |
JPS6327678A (ja) | 1986-07-21 | 1988-02-05 | 清水建設株式会社 | 鉄板サイロの構築方法 |
US4780821A (en) | 1986-07-29 | 1988-10-25 | International Business Machines Corp. | Method for multiple programs management within a network having a server computer and a plurality of remote computers |
US4914570A (en) * | 1986-09-15 | 1990-04-03 | Counterpoint Computers, Inc. | Process distribution and sharing system for multiple processor computer system |
JPS6361148U (zh) | 1986-10-08 | 1988-04-22 | ||
US4887204A (en) | 1987-02-13 | 1989-12-12 | International Business Machines Corporation | System and method for accessing remote files in a distributed networking environment |
US5202971A (en) * | 1987-02-13 | 1993-04-13 | International Business Machines Corporation | System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock |
JPS63205747A (ja) | 1987-02-13 | 1988-08-25 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 通信方法及びデータ処理システム |
US4791566A (en) | 1987-03-27 | 1988-12-13 | Digital Equipment Corporation | Terminal device session management protocol |
JPS63256165A (ja) | 1987-04-14 | 1988-10-24 | Seiko Epson Corp | 嫌気性液体の定量吐出方法 |
US4823554A (en) * | 1987-04-22 | 1989-04-25 | Leonard Trachtenberg | Vehicle thermoelectric cooling and heating food and drink appliance |
JPS6461148A (en) | 1987-08-31 | 1989-03-08 | Nec Corp | Flow control system |
US5008853A (en) * | 1987-12-02 | 1991-04-16 | Xerox Corporation | Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment |
US4891785A (en) * | 1988-07-08 | 1990-01-02 | Donohoo Theodore J | Method for transferring data files between computers in a network response to generalized application program instructions |
JPH02101847A (ja) | 1988-10-11 | 1990-04-13 | Nec Corp | 通信制御方式 |
US5124909A (en) | 1988-10-31 | 1992-06-23 | Hewlett-Packard Company | Software program for providing cooperative processing between personal computers and a host computer |
JPH02101847U (zh) | 1989-01-24 | 1990-08-14 | ||
CA1323448C (en) | 1989-02-24 | 1993-10-19 | Terrence C. Miller | Method and apparatus for translucent file system |
US5109519A (en) | 1989-03-28 | 1992-04-28 | Wang Laboratories, Inc. | Local computer participating in mail delivery system abstracts from directory of all eligible mail recipients only served by local computer |
US5113519A (en) * | 1989-05-15 | 1992-05-12 | International Business Machines Corporation | Maintenance of file attributes in a distributed data processing system |
US5560008A (en) | 1989-05-15 | 1996-09-24 | International Business Machines Corporation | Remote authentication and authorization in a distributed data processing system |
US5218696A (en) | 1989-07-24 | 1993-06-08 | International Business Machines Corporation | Method for dynamically expanding and rapidly accessing file directories |
US5261051A (en) | 1989-08-14 | 1993-11-09 | Microsoft Corporation | Method and system for open file caching in a networked computer system |
US5265261A (en) | 1989-08-14 | 1993-11-23 | Microsoft Corporation | Method and system for network communications using raw mode protocols |
JPH0754462Y2 (ja) | 1989-11-10 | 1995-12-18 | 株式会社竹中工務店 | 被連結部材の連結装置 |
JP2575543B2 (ja) * | 1990-04-04 | 1997-01-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 同時アクセス管理方法 |
US5130986A (en) | 1990-04-27 | 1992-07-14 | At&T Bell Laboratories | High speed transport protocol with two windows |
JPH0675890B2 (ja) | 1990-06-25 | 1994-09-28 | 河村化工株式会社 | 釣竿の製造方法 |
JPH04172039A (ja) | 1990-11-05 | 1992-06-19 | Matsushita Electric Ind Co Ltd | パケット通信装置 |
JPH0589048A (ja) | 1991-09-25 | 1993-04-09 | Nec Corp | コマンド処理方式 |
JPH05143488A (ja) | 1991-11-18 | 1993-06-11 | Nippon Telegr & Teleph Corp <Ntt> | 複数コマンドの転送方法 |
JPH0619771A (ja) * | 1992-04-20 | 1994-01-28 | Internatl Business Mach Corp <Ibm> | 異種のクライアントによる共用ファイルのファイル管理機構 |
JPH0589048U (ja) | 1992-05-08 | 1993-12-03 | 関東自動車工業株式会社 | 自動車用ベルトモール |
US5349642A (en) * | 1992-11-03 | 1994-09-20 | Novell, Inc. | Method and apparatus for authentication of client server communication |
US5452447A (en) | 1992-12-21 | 1995-09-19 | Sun Microsystems, Inc. | Method and apparatus for a caching file server |
US5493728A (en) | 1993-02-19 | 1996-02-20 | Borland International, Inc. | System and methods for optimized access in a multi-user environment |
US5491752A (en) * | 1993-03-18 | 1996-02-13 | Digital Equipment Corporation, Patent Law Group | System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens |
JPH0675890U (ja) | 1993-04-02 | 1994-10-25 | 市光工業株式会社 | コーナリングランプ点灯回路 |
US5522042A (en) * | 1994-01-28 | 1996-05-28 | Cabletron Systems, Inc. | Distributed chassis agent for distributed network management |
US5588117A (en) | 1994-05-23 | 1996-12-24 | Hewlett-Packard Company | Sender-selective send/receive order processing on a per message basis |
US5513314A (en) * | 1995-01-27 | 1996-04-30 | Auspex Systems, Inc. | Fault tolerant NFS server system and mirroring protocol |
US5628005A (en) * | 1995-06-07 | 1997-05-06 | Microsoft Corporation | System and method for providing opportunistic file access in a network environment |
US5826027A (en) | 1995-10-11 | 1998-10-20 | Citrix Systems, Inc. | Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system |
US5764887A (en) * | 1995-12-11 | 1998-06-09 | International Business Machines Corporation | System and method for supporting distributed computing mechanisms in a local area network server environment |
US6343313B1 (en) * | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
EP0891663A1 (en) * | 1996-04-01 | 1999-01-20 | Hewlett-Packard Company | Transmitting messages over a network |
RU2118051C1 (ru) | 1996-04-30 | 1998-08-20 | Лихачев Александр Геннадьевич | Способ доступа к ресурсам "всемирной паутины" через шлюзы-представители |
US6434120B1 (en) * | 1998-08-25 | 2002-08-13 | Cisco Technology, Inc. | Autosensing LMI protocols in frame relay networks |
US5933602A (en) * | 1996-07-31 | 1999-08-03 | Novell, Inc. | System for selecting command packet and corresponding response packet from communication stream of packets by monitoring packets sent between nodes on network |
US6208952B1 (en) | 1996-10-24 | 2001-03-27 | Microsoft Corporation | Method and system for delayed registration of protocols |
JPH10133971A (ja) | 1996-10-25 | 1998-05-22 | Nec Corp | ファイル転送処理方式 |
US6125122A (en) * | 1997-01-21 | 2000-09-26 | At&T Wireless Svcs. Inc. | Dynamic protocol negotiation system |
FR2759518B1 (fr) | 1997-02-07 | 1999-04-23 | France Telecom | Procede et dispositif d'allocation de ressources dans un reseau numerique de transmission par paquets |
US5987621A (en) | 1997-04-25 | 1999-11-16 | Emc Corporation | Hardware and software failover services for a file server |
US5931913A (en) | 1997-05-07 | 1999-08-03 | International Business Machines Corporation | Methods, system and computer program products for establishing a session between a host and a terminal using a reduced protocol |
US6219799B1 (en) * | 1997-07-01 | 2001-04-17 | Unisys Corporation | Technique to support pseudo-names |
US6092199A (en) | 1997-07-07 | 2000-07-18 | International Business Machines Corporation | Dynamic creation of a user account in a client following authentication from a non-native server domain |
JPH1155314A (ja) | 1997-07-30 | 1999-02-26 | Nippon Telegr & Teleph Corp <Ntt> | データ転送制御方法 |
US6275953B1 (en) | 1997-09-26 | 2001-08-14 | Emc Corporation | Recovery from failure of a data processor in a network server |
US6247139B1 (en) | 1997-11-11 | 2001-06-12 | Compaq Computer Corp. | Filesystem failover in a single system image environment |
US6131125A (en) * | 1997-11-14 | 2000-10-10 | Kawasaki Lsi U.S.A., Inc. | Plug-and-play data cable with protocol translation |
US6085247A (en) | 1998-06-08 | 2000-07-04 | Microsoft Corporation | Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers |
US6516351B2 (en) | 1997-12-05 | 2003-02-04 | Network Appliance, Inc. | Enforcing uniform file-locking for diverse file-locking protocols |
US7010532B1 (en) | 1997-12-31 | 2006-03-07 | International Business Machines Corporation | Low overhead methods and apparatus for shared access storage devices |
US6243862B1 (en) | 1998-01-23 | 2001-06-05 | Unisys Corporation | Methods and apparatus for testing components of a distributed transaction processing system |
US6317844B1 (en) | 1998-03-10 | 2001-11-13 | Network Appliance, Inc. | File server storage arrangement |
US6230190B1 (en) | 1998-10-09 | 2001-05-08 | Openwave Systems Inc. | Shared-everything file storage for clustered system |
US6401123B1 (en) * | 1998-11-24 | 2002-06-04 | International Busines Machines Corporation | Systems, methods and computer program products for employing presumptive negotiation in a data communications protocol |
US6883000B1 (en) * | 1999-02-12 | 2005-04-19 | Robert L. Gropper | Business card and contact management system |
US6324581B1 (en) | 1999-03-03 | 2001-11-27 | Emc Corporation | File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems |
US6453354B1 (en) * | 1999-03-03 | 2002-09-17 | Emc Corporation | File server system using connection-oriented protocol and sharing data sets among data movers |
US20040139004A1 (en) * | 1999-04-08 | 2004-07-15 | Aceinc Pty Ltd. | Secure online commerce transactions |
US6938096B1 (en) * | 1999-04-12 | 2005-08-30 | Softricity, Inc. | Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port |
US7562129B1 (en) | 1999-04-15 | 2009-07-14 | Alcatel-Lucent Canada Inc. | Subscription management system for data communication network |
US6349350B1 (en) * | 1999-05-04 | 2002-02-19 | International Business Machines Corporation | System, method, and program for handling failed connections in an input/output (I/O) system |
AU4839300A (en) | 1999-05-11 | 2000-11-21 | Webvan Group, Inc. | Electronic commerce enabled delivery system and method |
US7318102B1 (en) * | 1999-05-24 | 2008-01-08 | Hewlett-Packard Development Company, L.P. | Reliable datagram |
US6430691B1 (en) * | 1999-06-21 | 2002-08-06 | Copytele, Inc. | Stand-alone telecommunications security device |
WO2001008032A2 (en) * | 1999-07-23 | 2001-02-01 | Merck & Co., Inc. | Method and storage/retrieval system of chemical substances in a database |
US6490666B1 (en) * | 1999-08-20 | 2002-12-03 | Microsoft Corporation | Buffering data in a hierarchical data storage environment |
US6636242B2 (en) * | 1999-08-31 | 2003-10-21 | Accenture Llp | View configurer in a presentation services patterns environment |
JP2001077844A (ja) | 1999-09-06 | 2001-03-23 | Axle Linkage Labo Inc | ネットワーク制御方法、サーバ装置、クライアント装置、遊技台装置用ネットワーク制御方法、ホールサーバコンピュータ装置、遊技台装置 |
JP2001094613A (ja) | 1999-09-21 | 2001-04-06 | Canon Inc | 通信制御装置、方法および記録媒体 |
US6775707B1 (en) * | 1999-10-15 | 2004-08-10 | Fisher-Rosemount Systems, Inc. | Deferred acknowledgment communications and alarm management |
US6910082B1 (en) | 1999-11-18 | 2005-06-21 | International Business Machines Corporation | Method, system and program products for reducing data movement within a computing environment by bypassing copying data between file system and non-file system buffers in a server |
US6658476B1 (en) | 1999-11-29 | 2003-12-02 | Microsoft Corporation | Client-server protocol support list for standard request-response protocols |
US7050984B1 (en) * | 1999-12-22 | 2006-05-23 | Ge Medical Systems, Inc. | Integrated interactive service to a plurality of medical diagnostic systems |
US7111060B2 (en) * | 2000-03-14 | 2006-09-19 | Aep Networks, Inc. | Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser |
US6883015B1 (en) | 2000-03-30 | 2005-04-19 | Cisco Technology, Inc. | Apparatus and method for providing server state and attribute management for multiple-threaded voice enabled web applications |
US6993587B1 (en) * | 2000-04-07 | 2006-01-31 | Network Appliance Inc. | Method and apparatus for election of group leaders in a distributed network |
US7225244B2 (en) * | 2000-05-20 | 2007-05-29 | Ciena Corporation | Common command interface |
US6452903B1 (en) | 2000-05-31 | 2002-09-17 | Fujitsu Network Communications, Inc. | Network switch supporting rate-based and credit-based flow control mechanisms on a link-by-link basis |
US6961858B2 (en) * | 2000-06-16 | 2005-11-01 | Entriq, Inc. | Method and system to secure content for distribution via a network |
DE60103331T2 (de) | 2000-07-05 | 2004-09-23 | Roke Manor Research Ltd., Romsey | Verfahren zum Betreiben eines Puffers für das Wiederzusammenstellen von Paketen und Netzwerk-Router |
US7693976B2 (en) * | 2000-07-11 | 2010-04-06 | Ciena Corporation | Granular management of network resources |
US6349250B1 (en) * | 2000-10-26 | 2002-02-19 | Detroit Diesel Corporation | Clear historic data from a vehicle data recorder |
US20020062379A1 (en) * | 2000-11-06 | 2002-05-23 | Widegren Ina B. | Method and apparatus for coordinating quality of service requirements for media flows in a multimedia session with IP bearer services |
JP2002183000A (ja) | 2000-12-11 | 2002-06-28 | Hitachi Ltd | ネットワークを介するデータ参照方法及びそのシステム |
US20020073211A1 (en) | 2000-12-12 | 2002-06-13 | Raymond Lin | System and method for securely communicating between application servers and webservers |
US6862692B2 (en) | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
KR100750735B1 (ko) * | 2001-02-03 | 2007-08-22 | 삼성전자주식회사 | 홈네트워크내의 기기 제어장치 및 방법 및 이를 적용한홈네트워크 시스템 |
US7055036B2 (en) | 2001-04-06 | 2006-05-30 | Mcafee, Inc. | System and method to verify trusted status of peer in a peer-to-peer network environment |
US8051212B2 (en) | 2001-04-11 | 2011-11-01 | Mellanox Technologies Ltd. | Network interface adapter with shared data send resources |
US20030093678A1 (en) | 2001-04-23 | 2003-05-15 | Bowe John J. | Server-side digital signature system |
JP2002328828A (ja) * | 2001-04-27 | 2002-11-15 | Fujitsu Ltd | ストレージサービス方法、ストレージサービスユーザ及びストレージサービスプロバイダ |
JP3797236B2 (ja) | 2001-04-27 | 2006-07-12 | 日本ビクター株式会社 | 記録再生装置および記録再生方法 |
US6640226B1 (en) | 2001-06-19 | 2003-10-28 | Informatica Corporation | Ranking query optimization in analytic applications |
JP4249915B2 (ja) | 2001-07-13 | 2009-04-08 | 株式会社バンダイ | 配信システム、そのサーバ及び収容装置と、携帯端末システムと、プログラム |
US7409420B2 (en) | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
US6944785B2 (en) | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
EP1283652A1 (de) | 2001-08-07 | 2003-02-12 | Siemens Aktiengesellschaft | Verfahren, Sende-/Empfangseinheit und Kommunikationssystem zur Übertragung von Daten von einem Versender an mehrere Empfänger |
JP2003069610A (ja) | 2001-08-22 | 2003-03-07 | Canon Inc | 通信装置、その制御方法、通信システム、及び制御プログラム |
JP3663627B2 (ja) | 2001-10-18 | 2005-06-22 | ソニー株式会社 | 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム |
US7136982B2 (en) | 2001-11-09 | 2006-11-14 | Danger, Inc. | Apparatus and method for allocating memory blocks |
ATE339053T1 (de) | 2001-12-07 | 2006-09-15 | Research In Motion Ltd | Verfahren und vorrichtung zur steuerung der informationsverteilung zu mobilstationen |
US7394764B2 (en) | 2001-12-14 | 2008-07-01 | Sasken Communication Technologies Limited | Technique for improving transmission control protocol performance in lossy networks |
US7313816B2 (en) * | 2001-12-17 | 2007-12-25 | One Touch Systems, Inc. | Method and system for authenticating a user in a web-based environment |
US7111035B2 (en) | 2001-12-26 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Fault tolerance associations for IP transport protocols |
US20030140129A1 (en) | 2002-01-24 | 2003-07-24 | Noam Livnat | Installing communication protocol in a handheld device |
US20030154398A1 (en) | 2002-02-08 | 2003-08-14 | Eaton Eric Thomas | System for providing continuity between session clients and method therefor |
US6829606B2 (en) * | 2002-02-14 | 2004-12-07 | Infoglide Software Corporation | Similarity search engine for use with relational databases |
US7178050B2 (en) | 2002-02-22 | 2007-02-13 | Bea Systems, Inc. | System for highly available transaction recovery for transaction processing systems |
US7984157B2 (en) | 2002-02-26 | 2011-07-19 | Citrix Systems, Inc. | Persistent and reliable session securely traversing network components using an encapsulating protocol |
US7388866B2 (en) | 2002-03-07 | 2008-06-17 | Broadcom Corporation | System and method for expediting upper layer protocol (ULP) connection negotiations |
US7668306B2 (en) | 2002-03-08 | 2010-02-23 | Intel Corporation | Method and apparatus for connecting packet telephony calls between secure and non-secure networks |
JP2003281091A (ja) | 2002-03-25 | 2003-10-03 | Fujitsu Ltd | 同時受付制御システム |
JP4315696B2 (ja) | 2002-03-29 | 2009-08-19 | 富士通株式会社 | ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法 |
CA2385344A1 (en) | 2002-05-08 | 2003-11-08 | Bell Globemedia Inc. | Data transfer method and apparatus |
JP2003337717A (ja) | 2002-05-22 | 2003-11-28 | Nec Corp | オンライントランザクション処理の障害時復旧同期システム |
JP4000905B2 (ja) * | 2002-05-22 | 2007-10-31 | ソニー株式会社 | 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム |
AU2002314310A1 (en) | 2002-06-10 | 2003-12-22 | Caplin Systems Limited | Resource management |
US7290141B2 (en) * | 2002-06-27 | 2007-10-30 | Nokia, Inc. | Authentication of remotely originating network messages |
US20040003210A1 (en) * | 2002-06-27 | 2004-01-01 | International Business Machines Corporation | Method, system, and computer program product to generate test instruction streams while guaranteeing loop termination |
JP4302057B2 (ja) | 2002-07-01 | 2009-07-22 | 株式会社東芝 | シームレス・ユビキタスシステム及び記録媒体並びにコンピュータの処理継続方法 |
CA2393502A1 (en) * | 2002-07-15 | 2004-01-15 | Mark J. Frazer | System and method for reliable transport in a computer network |
US20040019660A1 (en) | 2002-07-24 | 2004-01-29 | Sandhya E. | Lock holding multi-threaded processes for distibuted data systems |
US6829473B2 (en) * | 2002-07-25 | 2004-12-07 | Utstarcom, Inc. | Roaming and hand-off support for prepaid billing for wireless data networks |
US6928577B2 (en) * | 2002-07-29 | 2005-08-09 | Eternal Systems, Inc. | Consistent message ordering for semi-active and passive replication |
US7386855B2 (en) | 2002-08-12 | 2008-06-10 | Ntt Docomo, Inc. | Application mobility service |
US20040032876A1 (en) | 2002-08-19 | 2004-02-19 | Ajay Garg | Selection of transmission channels |
JP3846384B2 (ja) * | 2002-08-28 | 2006-11-15 | ブラザー工業株式会社 | 端末装置、接続制御方法、接続制御用プログラム及び記録媒体 |
US6957367B2 (en) | 2002-08-30 | 2005-10-18 | Hewlett-Packard Development Company L.P. | System and method for controlling activity of temporary files in a computer system |
JP3938002B2 (ja) | 2002-10-18 | 2007-06-27 | キヤノン株式会社 | 印刷システムの制御方法 |
US7109430B2 (en) | 2002-11-05 | 2006-09-19 | Emrise Corporation | Low profile rotary switch with detent in the bushing |
US7386889B2 (en) * | 2002-11-18 | 2008-06-10 | Trusted Network Technologies, Inc. | System and method for intrusion prevention in a communications network |
US7475142B2 (en) | 2002-12-06 | 2009-01-06 | Cisco Technology, Inc. | CIFS for scalable NAS architecture |
US7421502B2 (en) * | 2002-12-06 | 2008-09-02 | International Business Machines Corporation | Method and system for storage-aware flow resource management |
US7664991B1 (en) | 2002-12-17 | 2010-02-16 | Symantec Operating Corporation | System and method for distributed file system I/O recovery |
US7290051B2 (en) * | 2003-01-09 | 2007-10-30 | Sun Microsystems, Inc. | Method and apparatus for hardware implementation independent verification of network layers |
US7571463B1 (en) | 2003-01-24 | 2009-08-04 | Nortel Networks Limited | Method an apparatus for providing a scalable and secure network without point to point associations |
JP3999135B2 (ja) | 2003-01-24 | 2007-10-31 | 株式会社エヌ・ティ・ティ・ドコモ | 通信システム、データ送信方法、通信装置、プログラムおよび記録媒体 |
US7151939B2 (en) * | 2003-02-18 | 2006-12-19 | Qualcomm Incorporated | Method, apparatus, and machine-readable medium for providing indication of location service availability and the quality of available location services |
US7072807B2 (en) | 2003-03-06 | 2006-07-04 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7490152B2 (en) | 2003-04-11 | 2009-02-10 | Alcatel-Lucent Usa Inc. | Version caching mechanism |
US7339885B2 (en) | 2003-06-05 | 2008-03-04 | International Business Machines Corporation | Method and apparatus for customizable surveillance of network interfaces |
US20040255202A1 (en) * | 2003-06-13 | 2004-12-16 | Alcatel | Intelligent fault recovery in a line card with control plane and data plane separation |
US7363629B2 (en) | 2003-06-19 | 2008-04-22 | International Business Machines Corporation | Method, system, and program for remote resource management |
US7526640B2 (en) | 2003-06-30 | 2009-04-28 | Microsoft Corporation | System and method for automatic negotiation of a security protocol |
US7698115B2 (en) | 2003-06-30 | 2010-04-13 | Microsoft Corporation | System and method for dynamically allocating resources in a client/server environment |
US7693998B2 (en) * | 2003-06-30 | 2010-04-06 | Microsoft Corporation | System and method for message-based scalable data transport |
US20050015511A1 (en) * | 2003-07-02 | 2005-01-20 | Nec Laboratories America, Inc. | Accelerated large data distribution in overlay networks |
JP4229774B2 (ja) | 2003-07-11 | 2009-02-25 | 日本電信電話株式会社 | セッション制御プログラムと通信端末装置 |
US7296264B2 (en) * | 2003-07-18 | 2007-11-13 | Bea Systems, Inc. | System and method for performing code completion in an integrated development environment |
CN100394401C (zh) * | 2003-07-24 | 2008-06-11 | 松下电器产业株式会社 | 文件管理方法和信息处理设备 |
US8028078B2 (en) * | 2003-08-07 | 2011-09-27 | Teamon Systems, Inc. | Communications system including protocol interface device providing enhanced operating protocol selection features and related methods |
CN100547583C (zh) | 2003-08-14 | 2009-10-07 | 甲骨文国际公司 | 数据库的自动和动态提供的方法 |
US7870268B2 (en) | 2003-09-15 | 2011-01-11 | Intel Corporation | Method, system, and program for managing data transmission through a network |
US20050091226A1 (en) * | 2003-10-23 | 2005-04-28 | Yun Lin | Persistent caching directory level support |
US7539722B2 (en) | 2003-10-24 | 2009-05-26 | Microsoft Corporation | Method and system for accessing a file |
US7231397B2 (en) | 2003-10-24 | 2007-06-12 | Microsoft Corporation | Method and system for transacted file operations over a network |
US7673066B2 (en) * | 2003-11-07 | 2010-03-02 | Sony Corporation | File transfer protocol for mobile computer |
JP4836432B2 (ja) * | 2003-11-17 | 2011-12-14 | 株式会社リコー | 文書管理システム、文書管理装置、文書管理方法、文書管理プログラム及び記録媒体 |
US7188273B2 (en) | 2003-11-24 | 2007-03-06 | Tsx Inc. | System and method for failover |
US20050111030A1 (en) | 2003-11-25 | 2005-05-26 | Berkema Alan C. | Hard copy imaging systems, print server systems, and print server connectivity methods |
FI20031779A0 (fi) | 2003-12-05 | 2003-12-05 | Nokia Corp | Menetelmä, järjestelmä ja lähetettävän puolen yhteyskäytäntöyksikkö datapakettien lähettämiseksi kuittaamattoman toimintamuodon palveluissa |
US7243284B2 (en) * | 2003-12-11 | 2007-07-10 | International Business Machines Corporation | Limiting number of retransmission attempts for data transfer via network interface controller |
US7177941B2 (en) * | 2003-12-11 | 2007-02-13 | International Business Machines Corporation | Increasing TCP re-transmission process speed |
US7383483B2 (en) * | 2003-12-11 | 2008-06-03 | International Business Machines Corporation | Data transfer error checking |
US7478381B2 (en) | 2003-12-15 | 2009-01-13 | Microsoft Corporation | Managing software updates and a software distribution service |
US20050177635A1 (en) * | 2003-12-18 | 2005-08-11 | Roland Schmidt | System and method for allocating server resources |
US7493394B2 (en) | 2003-12-31 | 2009-02-17 | Cisco Technology, Inc. | Dynamic timeout in a client-server system |
US7698361B2 (en) | 2003-12-31 | 2010-04-13 | Microsoft Corporation | Lightweight input/output protocol |
US7383463B2 (en) | 2004-02-04 | 2008-06-03 | Emc Corporation | Internet protocol based disaster recovery of a server |
EP1728249B1 (en) * | 2004-03-17 | 2008-08-27 | Koninklijke Philips Electronics N.V. | Method and device for scanning a disc-shaped information storage medium |
US7444536B1 (en) | 2004-04-16 | 2008-10-28 | Sun Microsystems, Inc. | RMI-IIOP request failover mechanism |
US20050246803A1 (en) * | 2004-04-30 | 2005-11-03 | Spencer Andrew M | Peripheral device for processing data from a computing device |
US7627627B2 (en) * | 2004-04-30 | 2009-12-01 | Hewlett-Packard Development Company, L.P. | Controlling command message flow in a network |
JP2005321953A (ja) * | 2004-05-07 | 2005-11-17 | Hitachi Ltd | ストレージ制御装置、その動作プログラム、及びアクセス制御方法 |
JP2005322016A (ja) | 2004-05-10 | 2005-11-17 | Yokogawa Electric Corp | サーバ装置および情報配信方法 |
US7380080B2 (en) * | 2004-05-17 | 2008-05-27 | Hewlett-Packard Development Company, L.P. | Calculating unneeded data storage credits for a data transmission to a pair of storage devices |
US7330910B2 (en) * | 2004-05-20 | 2008-02-12 | International Business Machines Corporation | Fencing of resources allocated to non-cooperative client computers |
US7487353B2 (en) * | 2004-05-20 | 2009-02-03 | International Business Machines Corporation | System, method and program for protecting communication |
US7434087B1 (en) | 2004-05-21 | 2008-10-07 | Sun Microsystems, Inc. | Graceful failover using augmented stubs |
US7080173B2 (en) | 2004-05-27 | 2006-07-18 | Microsoft Corporation | Reducing information reception delays |
US20060059118A1 (en) | 2004-08-10 | 2006-03-16 | Byrd Stephen A | Apparatus, system, and method for associating resources using a behavior based algorithm |
US8023417B2 (en) | 2004-08-30 | 2011-09-20 | International Business Machines Corporation | Failover mechanisms in RDMA operations |
US7418712B2 (en) * | 2004-08-31 | 2008-08-26 | Microsoft Corporation | Method and system to support multiple-protocol processing within worker processes |
US7418709B2 (en) | 2004-08-31 | 2008-08-26 | Microsoft Corporation | URL namespace to support multiple-protocol processing within worker processes |
KR20060025100A (ko) | 2004-09-15 | 2006-03-20 | 삼성전자주식회사 | 다국어를 지원하는 메타 데이터를 기록한 정보저장매체 및메타 데이터 처리방법 |
US20060067244A1 (en) | 2004-09-30 | 2006-03-30 | Microsoft Corporation | Registration identifier reuse |
US7451347B2 (en) | 2004-10-08 | 2008-11-11 | Microsoft Corporation | Failover scopes for nodes of a computer cluster |
CN1767472A (zh) | 2004-10-27 | 2006-05-03 | 乐金电子(天津)电器有限公司 | 家庭网络系统 |
US8156049B2 (en) * | 2004-11-04 | 2012-04-10 | International Business Machines Corporation | Universal DRM support for devices |
US7457722B1 (en) | 2004-11-17 | 2008-11-25 | Symantec Operating Corporation | Correlation of application instance life cycle events in performance monitoring |
JP4451293B2 (ja) | 2004-12-10 | 2010-04-14 | 株式会社日立製作所 | 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法 |
US8522293B2 (en) * | 2004-12-15 | 2013-08-27 | Time Warner Cable Enterprises Llc | Method and apparatus for high bandwidth data transmission in content-based networks |
US8515490B2 (en) | 2004-12-30 | 2013-08-20 | Alcatel Lucent | Method and apparatus for providing same session switchover between end-user terminals |
CN101116306A (zh) * | 2005-02-08 | 2008-01-30 | 艾利森电话股份有限公司 | 在分组交换网络上的按需多频道流会话 |
US7743245B2 (en) | 2005-03-10 | 2010-06-22 | Intel Corporation | Security protocols on incompatible transports |
US7453879B1 (en) * | 2005-04-04 | 2008-11-18 | Sun Microsystems, Inc. | Method and apparatus for determining the landing zone of a TCP packet |
US20060281525A1 (en) | 2005-05-17 | 2006-12-14 | Milo Borissov | Slot type game with player input opportunity |
EP1727055B1 (en) | 2005-05-25 | 2016-09-07 | Microsoft Technology Licensing, LLC | Data communication coordination with sequence numbers |
US8316129B2 (en) | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
EP1727056B1 (en) | 2005-05-25 | 2008-11-05 | Microsoft Corporation | Data communication protocol |
JP2007058506A (ja) | 2005-08-24 | 2007-03-08 | Ricoh Co Ltd | 文書管理サーバ、文書管理システム、及び、文書管理プログラムとその記録媒体 |
GB0519246D0 (en) | 2005-09-21 | 2005-10-26 | Ibm | A method, apparatus and computer program for handling web server failure |
RU2313824C2 (ru) | 2005-09-26 | 2007-12-27 | Михаил Васильевич Беляев | Информационная система клиент - сервер и способ предоставления графического пользовательского интерфейса |
US8108548B2 (en) | 2005-12-22 | 2012-01-31 | Microsoft Corporation | Methodology and system for file replication based on a peergroup |
US8051179B2 (en) | 2006-02-01 | 2011-11-01 | Oracle America, Inc. | Distributed session failover |
US8024439B2 (en) | 2006-03-17 | 2011-09-20 | Microsoft Corporation | Server session management application program interface and schema |
US7526668B2 (en) | 2006-06-08 | 2009-04-28 | Hitachi, Ltd. | Failover method of remotely-mirrored clustered file servers |
KR20080057483A (ko) | 2006-12-20 | 2008-06-25 | 삼성전자주식회사 | 서버, 클라이언트, 로드 밸런싱 시스템 및 그의 로드밸런싱 방법 |
US7809828B2 (en) | 2007-04-11 | 2010-10-05 | International Business Machines Corporation | Method for maintaining state consistency among multiple state-driven file system entities when entities become disconnected |
US20090077097A1 (en) * | 2007-04-16 | 2009-03-19 | Attune Systems, Inc. | File Aggregation in a Switched File System |
US8156146B2 (en) | 2007-09-28 | 2012-04-10 | Xcerion Aktiebolag | Network file system |
EP2066101B1 (en) * | 2007-11-28 | 2012-10-17 | Alcatel Lucent | System and method for an improved high availability component implementation |
US20090158221A1 (en) | 2007-12-17 | 2009-06-18 | Nokia Corporation | Device feature manipulation based on presented content |
CN101217483A (zh) | 2008-01-21 | 2008-07-09 | 中兴通讯股份有限公司 | 用于实现集群服务器内负载分担代理的方法 |
US8458298B2 (en) | 2008-03-03 | 2013-06-04 | Microsoft Corporation | Failover in an internet location coordinate enhanced domain name system |
JP5054618B2 (ja) | 2008-06-10 | 2012-10-24 | 京セラドキュメントソリューションズ株式会社 | ネットワークファイル処理システム |
JP4549408B2 (ja) | 2008-06-24 | 2010-09-22 | 富士通株式会社 | ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置 |
US7840730B2 (en) | 2008-06-27 | 2010-11-23 | Microsoft Corporation | Cluster shared volumes |
US8700760B2 (en) | 2008-08-18 | 2014-04-15 | Ge Fanuc Intelligent Platforms, Inc. | Method and systems for redundant server automatic failover |
US8275815B2 (en) | 2008-08-25 | 2012-09-25 | International Business Machines Corporation | Transactional processing for clustered file systems |
US8185566B2 (en) | 2009-01-15 | 2012-05-22 | Microsoft Corporation | Client-based caching of remote files |
CN101594320B (zh) | 2009-06-23 | 2012-05-09 | 中兴通讯股份有限公司 | 一种基于snmp协议的消息交互方法 |
US9749387B2 (en) | 2009-08-13 | 2017-08-29 | Sap Se | Transparently stateful execution of stateless applications |
JP2011119794A (ja) | 2009-11-30 | 2011-06-16 | Toshiba Corp | 電子機器及び通信制御方法 |
US8631277B2 (en) | 2010-12-10 | 2014-01-14 | Microsoft Corporation | Providing transparent failover in a file system |
US9331955B2 (en) | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US8856582B2 (en) | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
US8788579B2 (en) | 2011-09-09 | 2014-07-22 | Microsoft Corporation | Clustered client failover |
US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
-
2005
- 2005-07-15 US US11/182,989 patent/US8316129B2/en active Active
- 2005-07-15 US US11/182,251 patent/US8332526B2/en active Active
- 2005-12-06 ES ES10012923.8T patent/ES2604972T3/es active Active
- 2005-12-06 EP EP16179836.8A patent/EP3098732B1/en active Active
- 2005-12-06 EP EP10012923.8A patent/EP2259548B1/en active Active
- 2005-12-09 EP EP08008916A patent/EP1950933B1/en active Active
- 2005-12-09 CN CN201110329007.4A patent/CN102394872B/zh active Active
- 2005-12-09 AT AT05111885T patent/ATE413653T1/de not_active IP Right Cessation
- 2005-12-09 DE DE602005010837T patent/DE602005010837D1/de active Active
- 2005-12-09 CN CN201210434813.2A patent/CN102932457B/zh active Active
- 2005-12-09 CN CN2005101279978A patent/CN1870642B/zh active Active
- 2005-12-09 CN CN2005101279982A patent/CN1870643B/zh active Active
- 2005-12-09 AT AT08008916T patent/ATE516656T1/de not_active IP Right Cessation
- 2005-12-09 EP EP10013021.0A patent/EP2317732B1/en active Active
-
2007
- 2007-05-29 HK HK09100873.3A patent/HK1121886A1/xx not_active IP Right Cessation
- 2007-05-29 HK HK11111961.9A patent/HK1157959A1/zh not_active IP Right Cessation
- 2007-05-29 HK HK07105689.8A patent/HK1099586A1/xx not_active IP Right Cessation
-
2012
- 2012-08-01 HK HK12107578.1A patent/HK1166901A1/zh not_active IP Right Cessation
- 2012-10-30 US US13/664,012 patent/US8850025B2/en active Active
- 2012-10-30 US US13/663,827 patent/US8825885B2/en active Active
-
2013
- 2013-07-10 HK HK13108072.9A patent/HK1180855A1/zh unknown
- 2013-07-19 US US13/946,550 patent/US9438696B2/en active Active
-
2014
- 2014-08-29 US US14/473,488 patent/US9071661B2/en active Active
-
2015
- 2015-05-22 US US14/720,083 patent/US9332089B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1870643A (zh) | 利用顺序号的数据通信协调 | |
AU785166B2 (en) | Methods and systems for controlling the scope of delegation of authentication credentials | |
TWI438642B (zh) | 供應數位身份表徵的系統及方法 | |
US9923906B2 (en) | System, method and computer program product for access authentication | |
US10122693B2 (en) | Protocol based key management | |
US9178705B2 (en) | Method and system for stateless validation | |
CN1578214A (zh) | 从服务器发送到客户机的启动文件的三向确认和验证 | |
CN1901475A (zh) | 访问网络上计算机资源的管理方法和系统 | |
CN1433537A (zh) | 动态网络中的安全链路管理 | |
CN1490736A (zh) | 数据流标头对象保护 | |
CN1713106A (zh) | 为应用程序提供保密的系统和方法 | |
JP3967758B2 (ja) | シーケンス番号によるデータ通信の調整 | |
CN1684431A (zh) | 响应拒绝服务攻击的方法和设备 | |
CN1801816A (zh) | 端点识别和安全 | |
CN112953981A (zh) | 节点选择方法、区块链共识方法及装置、系统、设备 | |
US7996674B2 (en) | LDAP user authentication | |
US20080021904A1 (en) | Authenticating a site while protecting against security holes by handling common web server configurations | |
CN110213171B (zh) | 一种基于联盟链技术的数据流量监测与控制方法 | |
CN1601954A (zh) | 不中断服务地横跨安全边界移动主体 | |
US8799982B2 (en) | System and methods for efficiently classifying and selecting among security policy alternatives for outbound network communications | |
CN1705265A (zh) | 在java消息传递服务中利用证书验证 | |
CN112242979A (zh) | 基于区块链系统的ip地址前缀认证方法和设备 | |
CN102739613B (zh) | 跨防火墙的动态通路方法及系统 | |
US11966460B2 (en) | Facilitating generation of credentials and verification thereof within a distributed object storage system | |
JP2024004974A (ja) | 認証装置、認証方法及び認証プログラム |
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: 20150430 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150430 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |