CN1870642B - 用于通过使用数据通信协议在网络计算环境内通信的方法 - Google Patents

用于通过使用数据通信协议在网络计算环境内通信的方法 Download PDF

Info

Publication number
CN1870642B
CN1870642B CN2005101279978A CN200510127997A CN1870642B CN 1870642 B CN1870642 B CN 1870642B CN 2005101279978 A CN2005101279978 A CN 2005101279978A CN 200510127997 A CN200510127997 A CN 200510127997A CN 1870642 B CN1870642 B CN 1870642B
Authority
CN
China
Prior art keywords
smb2
client
server
data
request
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.)
Active
Application number
CN2005101279978A
Other languages
English (en)
Other versions
CN1870642A (zh
Inventor
A·莫哈蒙德
D·科鲁斯
M·乔治
P·J·玛德哈瓦拉普
S·萨布巴拉彦
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
Priority to CN201110329007.4A priority Critical patent/CN102394872B/zh
Publication of CN1870642A publication Critical patent/CN1870642A/zh
Application granted granted Critical
Publication of CN1870642B publication Critical patent/CN1870642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • 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
    • 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
    • H04L67/147Signalling methods or messages providing extensions to protocols defined by standardisation
    • 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/02Protocol performance
    • 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/14Multichannel or multilink protocols
    • 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/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • 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/24Negotiation of communication capabilities
    • 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
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

描述的是数据通信协议,其中以一种当服务器不能采用客户端想要的协议时不要求客户端重试协商的方式进行客户端和服务器协商。在一个示例实现中,希望的协议是SMB 2.0或更高的版本。协议描述具有可能为内置的可扩展性而附加的额外上下文数据的创建命令、以及包括多个相关命令或无关命令的复合命令。多信道命令请求在单独数据信道上的数据传送,签名的能力验证可被用以确保安全连接被建立,协议提供响应于请求从服务器传送扩展的错误数据的能力。

Description

用于通过使用数据通信协议在网络计算环境内通信的方法
有关申请的交叉参考 
本申请要求于2005年5月25日提交的美国临时专利申请第60/685,008号的优先权,并且该专利申请引用在此作为参考。本申请涉及同时提交的、被转让于本发明的受让者的发明名称为“Data Communication Coordination with Sequence Numbers”(利用顺序号的数据通信协调)的、代理人档案号为5660/313764的共同待批的美国专利申请,该专利申请引用在此作为参考。 
背景技术
许多诸如SMB(服务器信息块)协议的如今依然在使用的数据通信协议是在计算资源非常不同的时期所开发的,例如,那时网络带宽通常是有限的并且存储器非常珍贵。结果,当在当代网络中使用时,这样的协议可能限制总体性能。例如,由于是在存储器有限的情况下设计的,所以使用了小的缓冲器大小,以致需要更多的往返行程以传递大量数据。 
此外,现有的SMB协议具有随着时间而变得明显的其他限制。例如,现有的SMB协议容易受到服务拒绝攻击;协议的设计使其难于对抗这些攻击。同样地,确保分组安全的方法是麻烦的。并且,当前没有用于执行类似服务质量的操作的机制,因为例如受信任的客户端获得与不被信任的客户端相同的服务器资源。 
虽然SMB协议的各种修订版或方言(dialect)已经随着时间而被开发,但是那些方言中的每个方言实质上是基于补丁的方式,该方式调节多个部分以添加某些额外的特征。如此,可扩展性不直接。总而言之,尽管现有的SMB修订版依然是经常使用的以及有价值的协议,但当与当代网络资源结合使用时是较不理想的。 
发明内容
简而言之,本发明的各种方面针对数据通信协议,客户端和服务器使用该数据通信协议用于诸如文件共享之类的通信。客户端发送标识一组客户端理解的协议方言的协商分组至服务器。分组以一种格式存在以使在不要求另一请求的情况下,不能通过第二数据通信协议通信的服务器可表明应该使用第一通信协议。如果服务器能够通过第二数据通信协议通信,那么它将这样回应。客户端将调用通过由服务器表明的相应协议处理与服务器通信的驱动。在一示例实现中,第二通信协议是SMB 2.0或更高级的版本。 
协议的其他方面和增强可包括具有附加的其他上下文数据的创建命令,以及包括多个相关命令或无关命令的复合命令。还有其他方面和增强包括涉及请求在独立数据信道上的数据传送的多信道命令、确保安全连接被建立的签名能力验证请求、以及响应于请求从服务器传送扩展的错误数据的能力。 
当服务器接收到复合请求时,服务器确定该复合请求是否包括无关命令或相关命令。当复合请求包括无关命令时,每个请求被处理成单独请求,否则,当复合请求包括相关命令时,每个请求被顺序地处理。当相关命令包括创建/打开命令时,来自创建/打开命令的文件处理被用于在服务器上的每个后续的相关命令,例如,不需要等待来自客户端的处理返回。 
其他优点将从以下结合附图的详细的描述中变得明显。 
附图说明
本发明仅作为例子而被说明,不被附图所限制,其中相同的编号表明相同的元素,其中: 
图1显示了本发明的各方面可结合于其中的一般计算环境的示例性例子。 
图2是表示了根据本发明的各方面的、客户端和服务器可在其中进行通信的示例网络环境。 
图3是一表示根据本发明的各方面的在客户端和服务器之间的示例协商和会话建立的时序图。 
图4是表示根据本发明的各方面的、包括具有创建上下文的创建命令的各种命令的时序图。 
图5是表示根据本发明的各方面的、在客户端和服务器之间的复合请求和可能的响应的时序图。 
图6是根据本发明的各方面、在多信道上客户端-服务器通信的表示。 
图7是根据本发明的各方面的安全连接的验证的表示。 
图8是根据本发明的各方面的、使用基于符号连接的例子的扩展的错误返回信息的表示。 
具体实施方式
示例性操作环境 
图1示出了可在其中实现本发明的一合适的计算系统环境100的示例。计算系统环境100只是一合适的计算环境的一例,而不是要提出对本发明使用或功能的范围进行限制。计算系统环境100也不应解释成对于在示例计算系统环境100中所示出的任一组件或其组合有任何依赖或需求。 
本发明用多个其它通用或专用计算系统环境或配置是可运行的。可以适用于本发明使用的公知的计算系统、环境、和/或配置的实例包括,但不局限于,个人计算机、服务器计算机、手持设备或膝上型设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型计算机、包括任何诸如以上系统或设备的分布计算环境等、诸如打印服务器或打印机本身的各种网络应用设备中的一个、以及NAS存储设备等。 
本发明可以在诸如由计算机执行的程序模块的计算机可执行指令的一般上下文中被描述。一般地,程序模块包括完成特定任务或执行特定抽象数据类型的例行程序、程序、对象、组件、数据结构等。本发明也可以在分布式计算环境中实践,其中通过连接到计算网络的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和/或远程计算机存储介质中。 
参见图1,用于实现本发明的示例系统包括采用计算机110形式的通用计算设备。计算机110的组件可包括,但不局限于,处理单元120、系统存储器130、以及将包括系统存储器在内的各种系统元件耦合至处理单元120的系统总线121。上述系统总线121可以是多种总线体系结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构的任一种的局部总线。举例来说,而非限制,此类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型工业标准体系结构(EISA)总线、 视频电子标准技术协会(VESA)局部总线、和也被称为Mezzanine总线的外围部件互连(PCI)总线。 
计算机110通常包括各种计算机可读介质。计算机可读介质可以是任何计算机110能够访问的可用介质,包括易失性的和非易失性的介质、可移动的和不可移动的介质。举例来说,而非限制,计算机可读介质可以包含计算机存储介质和通信介质。计算机存储介质包括能以任何方法或技术实现的易失性的和非易失性的、可移动的和不可移动的介质,用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。计算机存储介质包括,但不局限于,RAM、ROM、EEPROM、闪存或其它存储技术,CD-ROM、数字多功能盘(DVD)或其它光盘存储、盒式磁带、磁带、磁盘存储器或其它磁存储设备,或任何其它可以被用来存储想要的信息并且可以被计算机110访问的介质。通信介质通常在诸如载波或其它传送机制的已调数据信号中收录计算机可读指令、数据结构、程序模块或其它数据,也包括任何信息传递介质。术语“已调制数据信号”是指在该信号中以编码信息的方式来设置或改变其一个或多个特征的信号。举例来说,而非限制,通信介质包括诸如有线网或直接线缆连接的有线介质,和诸如声音、射频、红外线和其它无线介质的无线介质。任何以上所述的组合也可以包括在计算机可读介质的范围之内。 
系统存储器130包括以诸如只读存储器(ROM)131和随机存取存储器(RAM)132的易失性和/或非易失性存储器的形式的计算机存储介质。包含如在启动期间帮助在计算机110内各元件之间传送信息的基本例行程序的基本输入输出系统(BIOS)133,通常存储在ROM 131中。RAM 132通常包含可以被处理单元120立即访问和/或当前操作的数据和/或程序模块。举例来说,而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。 
计算机110还可以包括其它可移动/不可移动、易失性/非易失性的计算机存储介质。仅作为示例,图1示出了从不可移动、非易失性磁性介质读出或写入不可移动、非易失性磁性介质的硬盘驱动器141、从可移动、非易失性磁性磁盘152读出或写入可移动、非易失性磁性磁盘152的磁盘驱动器151、以及从诸如CD ROM或其它光学介质的可移动、非易失性光盘156读出或写入可移动、非易失性光盘156的光盘驱动器155。其它可以使用在示例的操作环境中 的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不局限于,盒式磁带、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM、等。硬盘驱动141通常通过诸如接口140的不可移动存储接口连接到系统总线121,磁盘驱动151和光盘驱动155通常通过诸如接口150的可移动存储接口连接到系统总线121。 
以上讨论并且在图1中示出的驱动器及其它们相关的计算存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。在图1,例如,示出硬盘驱动141存储操作系统144、应用程序145、其它程序模块146、和程序数据147。需要注意的是这些组件可以和操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以和它们不同。在此对操作系统144、应用程序145、其它程序模块146和程序数据147给出了不同的标号来说明至少它们是不同的副本。用户可以通过诸如写字板、或电子数字转换器164、麦克风163、键盘162和定位设备161把指令和信息输入到计算机110中,定位设备161通常如鼠标、轨迹球或触摸板。其它输入设备(图1中未示)可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常由用户输入接口160连接到处理单元120,上述输入接口160和系统总线121相耦合。但是上述和其它输入设备也可以由其它接口和总线结构连接到处理单元120,诸如,并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型显示设备也可以通过诸如视频接口190的接口连接到系统总线121。监视器191也可以和触摸屏等集成在一起。需要注意的是监视器和/或触摸屏可以物理地耦合到包含了计算机110的一外壳,诸如写字板式个人计算机。另外,诸如计算机110的计算机也可包括其它外围输出设备,诸如可以通过一输出外围设备接口194等连接的扬声器195和打印机196。 
计算机110可以在网络化的环境中运行,该环境使用逻辑连接连接到一个或多个诸如远程计算机180的远程计算机。远程计算机180可以是个人计算机、服务器、路由器、网络个人计算机、对等设备或其它公共网络节点,通常包括以上描述的和110相关的多个或全部组件,尽管在图1中只示出了存储器存储设备181。在图1中描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但是也可以包括其它网络。这样的网络环境在办公室、企业范围的计算 机网络、内联网和因特网中是普遍的。 
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或通过诸如因特网的WAN 173建立通信的其他装置。调制解调器172可以是内置的或外置的,可以通过用户输入接口160或其它适当的机制连接到系统总线121。在一网络连接的环境中,所描述的和计算机110相关的程序模块或其中的一部分可以存储在远程存储器存储设备内。举例说明,但非限制,图1示出了驻留在存储设备181上的远程应用程序185。可以理解的是所示的网络连接是示例的,也可以使用在计算机间建立通信链路的其他手段。 
数据通信协议 
在此描述的技术的各方面针对诸如SMB协议的较新版本(2.0或以上)的数据通信协议。在此一般描述的一个示例实现中,SMB协议被用于文件数据传送。然而,如可被容易理解的那样,本发明不局限于文件数据,也不局限于在此描述的任何具体实现或示例。相反,各种实现本发明的方式都是可行的,包括用于与打印机、指定的数据管道、类属设备等的通信。如此,本发明不局限于在此使用的任何具体的基于文件的示例,而是可以一般在计算中提供益处和优点的多种方式被使用。 
在此描述的技术的其他各种方面针对SMB的新修订版,文件-服务器交互可基于此SMB的新修订版而构建。如可被理解的那样,提供了一种支持现有(高级)功能的更轻型的协议,并且该协议也更可扩展和更容易用新特征来更新。 
转到图2,显示了表示一个示例网络环境的框图,在该网络环境中客户端202与服务器204通过一个或多个通信信道通信。尽管客户端202和服务器204的功能和组件被描述成位于两个单独的计算机内,诸如图1的主计算机系统100和远程计算机系统180,但这两个计算机的组件或它们执行的功能可在一个机器上被提供、或可被分布在多个计算机上。 
来自应用程序206的网络文件系统命令由客户端重定向器组件208处理,该客户端重定向器组件208与对应的公共网络模块(SRVNET)210通信,以在文件系统212上执行命令。在这样的命令被处理之前,协商客户端和服务器同 意的通信协议,一般是双方都理解的最新的版本/方言。 
一般地,如图3所一般表示的那样,客户端202建立连接并随后与服务器204协商以最终建立会话。尽管客户端可直接对服务器表明其是SMB 2.X客户端,(其中如在此使用的,数字2.X表示相对于现有SMB 1.X版本的任何较新的版本),客户端也可通过向后兼容协商分组协商。通过这种方式,客户端也能与只具有SMB 1.X能力的服务器通信,并且是不需要当较高级协商尝试失败的情况下建立单独连接的。与此同时,用于实现每个协议的代码可被封装至它自己的独立的驱动中。 
在一示例实现中,客户端SMB引擎组件220提供分组至服务器(例如,服务器204),该分组表明客户端202正在协商至少是SMB 1.0会话。对于既说SMB1方言又说协议新的SMB2修订版的客户端202,客户端可发送传统的SMB1协商分组,但是该分组还包括表明该分组实际上请求SMB 2.X(如果可行的话)的指示。具有SMB2能力的服务器将检测到该请求,并以SMB2协商响应来响应。更具体地,为了表明客户端202具有SMB 2.X的能力,SMB 1.0协商分组包括一组方言串,这些串中的一个表明客户端也具有SMB 2.X通信的能力。 
如此,客户端202发送包括客户端202支持的较小的修订版号的初始协商。一个当前的修订版是0,即SMB 2.0;今后,客户端可要求支持方言修订版的任何子集。 
当服务器204接收分组时,服务器将基于它的能力做出响应。服务器204可以SMB 1.0协商响应做出回应,并带有任何1.X方言信息,或者如果服务器有SMB 2.X通信的能力,那么它将以SMB 2.0协商响应做出响应。具体的SMB方言修订版也可被返回,该SMB方言修订版匹配方言串中的一个,一般是在客户端202提供的方言版本中服务器204可处理的最大号的版本。 
为此,一旦服务器204知道客户端202说的是哪些方言修订版,那么它把这些与服务器204理解的修订版进行比较,并返回较佳的公共方言修订版(通常是最高的)。例如,如果服务器支持方言1-8,但是客户端只支持1、2、和4,那么服务器将返回4。这提供给客户端202有关它能发送哪个命令到服务器204的清楚的理解。为了选择使用哪个方言,SRVNET模块210实质上开始协商,把分组以相对于版本/方言从最高至最低的顺序传送至它所具有的每个SMB提 供器2221-222m,直到一个SMB提供器同意基于分组内容处理该通信会话为止。此后,在该连接上的通信被传递至那个提供器,在此示例中是SMB 2.0提供器222m。 
在客户端处,SMB引擎组件220接收响应,并基于响应中的版本/方言信息知道使用哪个客户端SMB组件2241-224n用于与服务器通信。通过这种方式,客户端202和服务器204商定对于给定的会话使用哪个SMB方言。需要注意的是客户端可具有多个同时运行的SMB组件2241-224n,每个组件是不同的版本/方言,由此例如客户端可通过SMB 1.X与一个服务器通信,而同时该客户端可通过SMB 2.X与另一个服务器通信。 
服务器204也返回其他信息给客户端,包括告诉客户端202服务器204是否要求安全签名的安全模式。注意,先前的安全签名是可用的,然而首批少量的(例如,能力协商)分组畅行无阻,由此攻击者可能迫使一客户端进入较低级协议,而攻击者知道该较低级协议中的弱点。 
安全连接通过向另一方提供签名的能力验证往返行程来操作(不管签名是否是可用的或不可用的)。图7显示了这样的请求/响应随动会话设置。其他诸如IP地址的信息可被放到分组内以使服务器实际上可验证是它而不是另一实体作出了响应。如果IPSEC或任何其他形式的网络安全是活动的,那么签名可被关闭。 
服务器204可返回服务器的能力位,例如,服务器是否明白DFS(分布式文件系统),以及它是否能够LWIO(轻型IO)。客户端202不处理它不理解的任何能力位,如果服务器204具有比客户端的相应版本更新的版本,这就可能发生。可在协商交换中被返回的其它信息包括服务器的唯一ID、服务器可接受的最大读/写大小、用于更快写操作的数据偏移量提示、服务器的当前系统时间、以及用于在扩展的安全性的情况下的种子鉴别(seed authentication)的安全信息。 
会话设置处理新会话的鉴别过程,该过程可以是多往返行程事件。客户端202查询本地安全系统关于安全块(security blob)以通过网络发送,以及发送第一会话设置,填写了能力、最大大小字段、和以下描述的VcNumber。服务器204接收该块并把它给予安全系统。如果服务器204确定需要更多的信息, 那么它将返回它自己的具有错误代码STATUS_MORE_PROCESSING_REQUIRED的安全块。客户端202把该块发送回上述本地安全系统,并且该过程重复直到失败发生或鉴别成功为止。 
VcNumber告诉服务器204是否存在从该相同的客户端202建立的其它连接。如果VcNumber是0,那么服务器204就假设没有从该客户端建立其它连接,并且将拆毁它所发现的任何这样的连接(假设它们是失效的)。如果VcNumber是1或更大,那么服务器204将不拆除任何现有的连接。 
信道(Channel)告诉服务器204该客户端202正试图与现有的会话建立另一连接。会话可由用户/计算机对来识别,该会话设置是从该用户/计算机对被接收的。信道共享相同的TreeId/UserId/ProcessId/FileID信息。对于信道鉴别,鉴别块可以是询问—响应,该询问—响应在第一信道上被加密,并且通过第二信道被返回,以允许客户端202和服务器204之间相互地鉴证。在成功响应后,服务器204还会通知该客户端202它是否已经被鉴别为Guest(客人)或Null(空)用户,或被鉴别为其中的任何一个。 
一旦会话被建立,那么客户端202可使用以下描述的包括创建、读、写和关闭的各种命令来执行数据传送,以及执行文件锁定和目录相关的操作。如在以上提到的“利用顺序号的数据通信协调”的专利申请中描述的那样,当使用这些命令时,服务器能控制客户端对服务器资源的使用。并且,协议提供许多关于什么信息被传递以及它如何被传递的有效改进。 
如在图4中一般化地表示的那样,创建命令已经被扩展成允许上下文信息被附加到命令上;一般地,上下文信息包括标记于创建命令的任意的额外创建参数。例如,用于关于事务文件系统的创建命令的事务标识符可被附加。只要服务器理解该额外的上下文信息,服务器就能被告知扩展的信息,(需要注意的是服务器将忽略它们不理解的额外数据),并返回与上下文关联的信息。如可被容易地理解的那样,这在不更改协议的情况下提供了额外的功能,实质上提供了内置的可扩展性。 
命令ID和方言修订版号被在以下描述的新的SMB头部所提供。与UCHAR相比,头部具有用于命令字段的USHORT;通过使用该USHORT的第一字节表示方言、以及使用较后的字节表示命令,对于现有的命令明确定义了命令表,很大 一部分可用于以后扩展。一般地,客户端可对每个方言维护一张表,该表包含对发出给定命令的功能的指针。对于具有支持的单个方言的客户端,表如以下被描述: 
  命令  方言#1
  创建  SmbCreate1
  读  SmbRead1
  写  SmbWrite1
  关闭  SmbClose1
为了高速缓存功能,更多的信息可在Close(关闭)时从文件中被检索。如此,新的关闭命令被提供以支持该新的功能。现在客户端支持两种方言,表如以下所描述: 
  命令   方言#2   方言#1
  创建   SmbCreate1   SmbCreate1
  读   SmbRead1   SmbRead1
  写   SmbWrite1   SmbWrite1
  关闭   SmbClose2   SmbClose1
需要注意的是大部分功能保持相同,除了更改的关闭命令。并且,客户端现在能与方言2服务器通话并且使用新的功能,但是对于方言1服务器而言,它依然使用旧的功能。对于与方言1服务器的通信没有更改。 
随着技术的发展,新的诸如能执行相对更多读和写的网络硬件变得可用。为了该版本,方言#3被提供,由此表被扩展成如下: 
  命令   方言#3   方言#2   方言#1
  创建   SmbCreate1   SmbCreate1   SmbCreate1
  读   SmbRead3   SmbRead1   SmbRead1
  写   SmbWrite3   SmbWrite1   SmbWrite1
  关闭   SmbClose2   SmbClose2   SmbClose1
具有这样的表的客户端能讲三种方言,并且将利用每个方言中可用的功能。使用该方法的某些优点包括:由于命令由(方言|命令)组成,每个SMB命令可被映射回它被引入的方言。这使得确定命令何时被引入以及什么服务器支持它们变得容易。如果给定的命令的功能在新的方言中没有更改,那么代码不更改。如果功能被更改,那么下级接口代码不更改,而新的代码被添加以支持新功能。 
在服务器方,服务器分派表变成在(方言)和(命令)之间的双切换。这 允许在代码内逻辑地分离新的功能,使得它更容易被理解和更改。 
转到提供效率的协议的一个方面,多个命令可被复合成单个分组(或某些较少数量的分组)。由此,复杂任务可通过减少在客户端202和服务器204之间往返次数的方式被执行。作为例子,复合请求分组可包含创建/打开文件的命令、写文件的命令以及读文件的命令。由此,复合对相关操作(例如,具有相同文件句柄)起作用,并也为要被结合的无关操作做准备。 
复合相关请求的例子被一般地表示在图5中,其中(例如,与图4相对比)单个请求能处理读和写,只要提供适当的参数。需要注意的是如图5中所表示的那样,单个请求可接收复合响应和/或个体响应,这取决于例如它们何时完成。诸如创建/打开、读、写和关闭之类的更复杂的请求可在单个请求内。这可通过把分组标记为具有相关操作来实现;服务器将知道它在创建/打开之后接收的文件句柄适用于复合请求内的其他命令。然而,需要注意的是,相关复合请求以它们被封装的顺序被处理,并且从而客户端负责在发送之前确保它们被正确地排序。 
SMB2中的复合比存在于SMB1中的复杂规则更为简单。为此,SMB2_HEADER(以下详细描述)包含用于标识下一命令头部离当前命令的头部的偏移量的“NextOffset”。每个命令具有它自己的包括单独MessageId的SMB2_HEADER。如图5所表示的,一个服务器响应或多个服务器响应可以是单个复合的响应或是单独的响应。在失败事件中,响应与任何其他失败的命令相同。 
对于无关消息,命令总是被处理好像它们被单独地接收那样。这允许重定向器或中间组件自动地复合无关分组。延迟可被用于获取分组以复合,尤其是在延迟时间相对于往返时间要小的情况下。由于服务器处将它们作为单独地被接收,服务器不需要被另外修改以解包这种复合无关请求。然而,由于服务器可结合另外的单独响应,执行复合的实体可能必须分离任何复合响应。 
相关模式允许客户端发送要被依次执行的一系列命令,其中一个命令的结果可能用于下一个命令。这样的命令共享相同的会话/过程/树/文件ID,它们将被依次执行并在第一个错误处停止处理。如果在失败后有其他命令要处理,那么操作立即失败,并具有STATUS_NOT_PROCESSED。这如何被使用的例子是把会话设置(Session Setup)与树形连接(Tree Contact)配对。如果会话未 能被建立,那么树形连接将永不被尝试并且将失效并具有STATUS_NOT_PROCESSED。如果会话设置成功,那么通过使用来自会话设置命令的SessionId,树形连接被完成。相同的方法可被用以执行在QueryFileInformation之后的创建(Create),或甚至是创建-读-关闭(Create-Read-Close)组。 
有条件的以及隐含的复合也是可行的。例如,有条件的复合命令可被发送,诸如如果文件小于64KB,那么打开以及读文件,从而在一次往返中打开和自动获取小的文件,但仅仅打开大的文件。隐含的复合,诸如响应于打开目录请求,即使没有明显地请求也自动地返回目录枚举数据,,这也能减少往返次数。对于这种增强的复合的益处和优点在高等待时间网络中增加。 
协议促进提高的效率的另一种方式是通过多信道通信。在客户端和服务器之间,命令的传送连接可结合指定备选信道来流式传输数据的命令而被使用。例如,读请求可指定偏移量和长度以及数据可被读至的备选信道;写请求类似地操作。图6显示了1GB读请求的例子,该读请求从偏移量为0处开始并请求数据被流式传输到数据信道5。 
在备选信道上流式传输数据提供了多个益处,包括消除对包括和处理分组头部的需要。客户端可预先公布缓冲器并使数据流入其中,消除对如在传统单信道通信中的从一个缓冲器备份到另一缓冲器的需要。公平性是另一个益处,因为例如控制信道上的一个请求将不需要在其他请求被处理之前等待大量数据(例如,5GB)以完成被传送,因为5GB将通过数据信道。 
随着多NIC变得越来越普遍,协议利用任何可用的网络带宽。这包括对于相同会话跨多个连接进行工作,而不管它们被建立于其上的传送(或NIC)。专用硬件可被使用。 
如此,通过使用SMB 2.X,会话不必局限于一个连接。相反,多个跨不同的物理连接而存在的“信道”可被建立。会话可在这些连接中的每个连接上存在,并且被用以参考文件和过程的ID在信道之间是公共的。这允许使常规信道进行名字空间操作和创建,而使用专用网络硬件进行读和写(当可用时)。更进一步,由于只要有一个信道对会话保持开放,会话就保持有效,所以小的网络故障不导致丢失数据。各种实现细节在此参考会话设置命令和读/写命令而被描述。 
作为例子,考虑通过简单TCP在企业的公共网上建立对服务器的连接的客户端。这是第一连接,所以总是信道0。一旦双方检测到它们具有用于数据传送的专用网(例如,每方都具有千兆位卡),客户端和服务器可通过该卡建立第二连接,如信道1。当客户端浏览某些文件时,目录查询通过信道0被发送,而数据通过信道1被发送。如果客户端要在服务器上被加密的某些目录中浏览,当客户端请求数据时,重定向器识别出数据是敏感的,所以它建立对服务器的新的信道(信道2),该信道上具有活动的IP Sec(IP安全性)。当客户端请求敏感数据时,它将要求数据通过信道2被发送,而正常的较不敏感的数据继续通过信道1(由于这比较快)到来。 
如可被容易理解的那样,QoS和安全性改进的机会与简单带宽增益一起提供显著的益处。需要注意的是在信道读/写上,服务器/客户端可在任何数据被读之前拟定接收缓冲器,所以该机制可进一步消除对将数据移动备份出来的需要,这也能提高服务器/客户端的可扩展性。 
此外,SMB错误分组被允许用任意数据来标记。因此,关于为何某些过程失败的描述可提供值。符号连接评估是一个例子,如在图8中一般地表示的那样,其中用任意数据标记向客户端提供了有用的信息。实质上,客户端创建请求可通过请求实质上是对于另一路径的符号连接的路径而失败。不是简单地使请求失败,而是提供新路径的信息允许客户端更改到将最终成功的重新解析路径;需要注意的是可能需要多个请求的反复以寻找会成功的路径。 
示例协议定义 
新头部是64字节结构(例如,一个当前结构的两倍大小)。typedef struct_SMB2_HEADER{   UCHAR        Protocol[4];            //包含OxFE,′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;            //树形连接标识符 
    }; 
    struct 
    { 
       UINT64      AsyncId;           //用于标识长期命令 
    }; 
}; 
UCHAR              Signature[8];      //分组的签名 
ULONG              NextCommand;       //到下一个命令的偏移量}_SMB2_HEADER,*PSMB2HEADER; 
Protocol只是协议标识符,以识别分组。对于现有的SMB实现,这包括{OxFF,‘S’,‘M’,‘B’}。对于新的协议,这应该是{OxFE,‘S’,‘M’,‘B’}。 
StructureSize标识SMB2_HEADER结构的大小,如果稍候引入其他更改,则将被用于头部(Header)本身内的较小的版本化。 
Epoch表示服务器的“版本计数”。当服务器被循环(或服务器服务被终止以及开始)时,Epoch被递增以对客户端表明服务器是否可能已经保存了断开连接时的状态。这是用于将来持续处理并能被考虑成对于时间“预留的”。 
Status给出如在现有的SMB实现中的对于给定操作的错误状态。 
Command标识如在此描述的分组的命令。 
CreditsGranted/CreditsRequested由客户端在发送时使用以请求更多的信用,以及由服务器在响应时使用以在新的信用管理方案内授予更多信用,如在相关的发明名称为“利用顺序号的数据通信协调”的专利申请中所描述的那样。 
关于消息的Flags(标志)包括: 
#define SMB2_FLAGS_SERVER_TO REDIR            0x00000001 
当存在时,表明消息是作为相对于请求的响应。 
#define SMB2_FLAGS_ASYNC_COMMAND              0x00000002 
在响应时,服务器返回具有设置了该标记的STATUS_PENDING以表明我们正在异步地处理它。 
#define SMB2_FLAGS_RELATED_OPERATIONS        0x00000004 
在复合消息的客户端消息发送时设置,以表明操作是相关的,所以在Create(创建)中打开的文件被用为用于稍候操作的FileId。 
#define SMB2_FLAGS_SIGNED                    0x00000008 
当分组已经被签名时设置。接收者应该验证该签名。用于签名的密钥基于发送分组的会话。 
#define SMB2_FLAGS_DFS_OPERATION             0x10000000 
这是DFS操作。服务器应该允许DFS对该名称进行字符解析(munge)。这可被创建选项所代替。 
MessageId标识正在被发送的具有它的响应的消息。 
ProcessId描述发出命令的过程的客户端侧的标识。 
SessionId标识用于命令的建立的会话,或如果没有会话被使用,那么为0。 
TreeId标识用于命令的树形连接,或如果没有树形连接被使用,那么为0。 
AsynId:如在相关的发明名称为“利用顺序号的数据通信协调”的专利申请中所描述的那样,消息ID实际上是顺序号,并且可用顺序号的窗口总是被设置成向右边滑动。会运行相当长时间的命令(诸如指定的管道读取或更改-通知,或取决于操作锁中断的创建,其中的任何一种能不确定地阻塞)可阻止窗口滑动的能力。为了解决这个问题,服务器能选择性地响应任何具有STATUS_PENDING并设置以上提到的SMB2_FLAGS_ASYNC_COMMAND标记以及提供唯一标识符来代替Session/Tree/ProcessId的命令。这意味着客户端能继续滑动窗口,就好像它接收到响应。在稍后,具有匹配的AsyncId(和CommandId)的真的响应将到来以满足请求。在客户端想要取消这样的命令的事件中,客户端发送具有标记设置和匹配的AsyncId的取消。 
除了不再存在隐藏的索引号,安全签名与在先前协议中的一样。借助于对MID的顺序号的使用,索引不在必要。(这避免直接可重现性)。这允许在不迫使操作在传送时被排序的情况下对安全签名的使用。 
NextCommand是消息中下一命令离开该头部的起始位置的偏移量。消息应该是 四个一行排列的。对SMB2_FLAGS_RELATED_COMMAND的使用允许各种用于复合的能力,如以上描述的那样。 
命令格式 
协商(NEGOTIATION) 
如以上描述的,客户端和服务器交换协商请求和响应作为帮助它们确定对方能力的“握手”的一部分。 
格式#define SMB2_NEGOTIATE_SIGNING_ENABLED            0x01#define SMB2_NEGOTIATE_SIGNING_REQUIRED           0x02#define SMB2_GLOBAL_CAP_DFS                     0x00000001#define SMB2_GLOBAL_CAp_LWIO                    0x00000002#define SMB2_GLOBAL_CAP_TXF                     0x00000004#define SMB2_GLOBAL_CAP_CSE                     0x00000008typedef struct_SMB2_REQ_NEGOTIATE{   USHORT StructureSize;            //=sizeof(SMB2_REQ_NEGOTIATE)   USHORT Reserved;                 //=0   ULONG  DialectCount;             //我们支持的方言数   USHORT Dialects[];               //方言修订版号的数组}SMB2_REQ_NEGOTIATE,*PSMB2_REQ_NEGOTIATE;typedef struct_SMB2_RESP_NEGOTIATE{   USHORT StructureSize;            //=sizeof(SMB2_RESP_NEGOTIATE)   USHORT SecurityMode;             //=签名标记   USHORT DialectRevision;          //服务器从接收到的列表中选择的方言   USHORT Reserved;   GUID  ServerGuid;                //服务器授予的GUID   ULONG Capabilities;              //全局服务器能力标记   ULONG MaxTransactSize;           //我们将接受或发送的最大事务缓冲器   ULONG MaxReadSize;               //支持的最大大小读   ULONG MaxWriteSize;              //支持的最大大小写   UINT64 SystemTime;               //服务器上的系统(UTC)时间   USHORT EncryptionKeyOffset;   USHORT EncryptionKeyLength;   USHORT SecurityBufferOffset;   USHORT SecurityBufferLength; 
UCHAR Buffer[1];}SMB2_RESP_NEGOTIATE,*PSMB2_RESP_NEGOTIATE; 
会话设置(SESSION SETUP) 
如以上描述的,会话设置处理用于新会话的鉴别过程。 
格式typedef struct_SMB2_REQ_SESSION_SETUP{   USHORT StructureSize;            //=sizeof(SMB2_REQ_SESSION_SETUP)   USHORT VcNumber;                 //0=第一连接,非0=其他的连接   ULONG Capabilities;              //客户端的能力   ULONG Channel;                   //非0=把新的信道绑定至会话   USHORT SecurityBufferOffset;   USHORT SecurityBufferLength;   UCHAR Buffer[1];                 //安全缓冲器}SMB2_REQ_SESSION_SETUP,*PSMB2_REQ_SESSION_SETUP;#define SMB2_SESSION_FLAG_IS_GUEST   0x0001#define SMB2_SESSION_FLAG_IS_NULL    0x0002typedef struct _SMB2_RESP_SESSION_SETUP{ 
USHORT StructureSize;           //= 
                             //sizeof(SMB2_RESP_SESSION_SETUP) 
USHORT SessionFlags; 
USHORT SecurityBufferOffset; 
USHORT SecurityBufferLength; 
UCHAR Buffer[1];                //安全缓冲器} 
注销(LOGOFF) 
注销现有的会话。 
格式typedef struct_SMB2_REQ_LOGOFF{ 
USHORT StructureSize; 
USHORT Reserved;}SMB2_REQ_LOGOFF;typedef struct_SMB2_RESP_LOGOFF{ 
USHORT StructureSize; 
USHORT Reserved;}SMB2_RESP_LOGOFF; 
该命令使用在头部中指定的SessionId把会话拆除。打开的文件被关闭,并且其他现有的结构(树形连接等)被拆除。对于该给定的SessionId而言,再没有可被处理的操作。 
树形连接(TREE CONNECT) 
对在服务器机器上被共享的资源创建树形连接。 
格式typedef struct_SMB2_REQ_TREE_CONNECT{   USHORT StructureSize;            //=sizeof(SMB2_REQ_TREE_CONNECT)   USHORT Reserved;   USHORT PathOffset;               //完整路径(例如,\\SERVER\SHARE)   USHORT PathLength;   UCHAR Buffer[1];}SMB2_REQ_TREE_CONNECT,*PSMB2_REQ_TREE_CONNECT;#define SMB2_SHAREFLAG_MANUAL_CACHING    0x00000000#define SMB2_SHAREFLAG_AUTO_CACHING      0x00000001#define SMB2_SHAREFLAG_VDO_CACHING       0x00000002#define SMB2_SHAREFLAG_NO_CACHING        0x00000003#define SMB2_SHAREFLAG_CACHING_FLAGS     0x00000003//Reserved share cap 0x00000001//Reserved share cap 0x00000002//Reserved share cap 0x00000004#define SMB2_SHARE_CAP_DFS          0x00000008//这是DFS共享#define SMB2_SHARE_TYPE_DISK              0x01#define SMB2_SHARE_TYPE_PIPE              0x02typedef struct_SMB2_RESP_TREE_CONNECT{ 
USHORT StructureSize;           //=sizeof(SMB2_RESP_TREE_CONNECT) 
UCHAR ShareType; 
UCHAR Reserved; 
ULONG ShareFlags; 
ULONG Capabilities;}SMB2_RESP_TREE_CONNECT,*PSMB2_RESP_TREE_CONNECT; 
客户端向服务器发出该命令以建立树形连接。Path(路径)是\\server\share的格式并且被填充到缓冲器中。服务器名称的包括在内是考虑到类似共享范围的特征。 
在来自服务器的成功响应时,客户端接收头部内的TreeId和ShareFlags与ShareCapabilities。当前,共享标记对客户端表明哪些CSC高速缓存器特性是用于共享的,但是更多的特性可在随后被添加。能力告诉客户端返回共享的文件系统是 否支持文件级安全性、时间异常(timewarp)、TxF(事务文件系统)、或客户端加密中的任何一种。如果文件系统在某些子树而不是所有子树上(诸如固定点的情况)支持这些特性,那么应该返回它不支持这些特性并仅仅阻止个体请求在不允许的情况下使用它们。客户端应该忽略它不理解的任何标记或能力。 
树断开连接(TREE DISCONNECT) 
拆除现有的TreeConnect。 
格式typedef struct_SMB2_REQ_TREE_DISCONNECT{   USHORT StructureSize;   USHORT Reserved;}SMB2_REQ_TREE_DISCONNECT;typedef struct_SMB2_REQ_TREE_DISCONNECT{   USHORT StructureSize;   USHORT Reserved;}SMB2_REQ_TREE_DISCONNECT; 
一旦命令被处理,在给定的TreeId上不再有操作可被成功完成。TreeId取自于头部。 
创建(CREATE) 
打开文件、打印机、或管道。 
格式#define SMB2_OPLOCK_LEVEL_NONE        0#define SMB2_OPLOCK_LEVEL_II          1#define SMB2_OPLOCK_LEVEL_EXCLUSIVE   8#define SMB2_OPLOCK_LEVEL_BATCH       9#define SMB2_OPLOCK_LEVEL_DIRCHANGE   16typedef struct_SMB2_REQ_CREATE{   USHORT StructureSize;              //=sizeof(SMB2_REQ_CREATE)   UCHAR  SecurityFlags;              //QOS安全标记   UCHAR  RequestedOplockLevel;       //希望的操作锁等级   ULONG       ImpersonationLevel;    //QOS安全信息   UINT64 SmbCreateFlags;   UINT64 RootDirectoryFid;           //用于相对的打开   ACCESS_MASK DesiredAccess;   ULONG      FileAttributes;   ULONG      ShareAccess;   ULONG      CreateDisposition;   ULONG      CreateOptions;    USHORT    NameOffset;            //相对于共享的名称   USHORT    NameLength;   ULONG     CreateContextsOffset;   //额外的创建参数   ULONG     CreateContextsLength;   UCHAR     Buffer[1];            //Name[],CreateContexts[]}SMB2_REQ_CREATE,*PSMB2_REQ_CREATE;typedef struct_SMB2_CREATE_CONTEXT{   ULONG     Next;   USHORT    NameOffset;   USHORT    NameSize;   USHORT    Reserved;   USHORT    DataOffset;   ULONG     DataSize;   UCHAR     Buffer[1];//Name[],Data[]}SMB2_CREATE_CONTEXT,*PSMB2_CREATE_CONTEXT;typedef struct_SMB2_RESP_CREATE{   USHORT StructureSize;           //=sizeof(SMB2_RESP_CREATE)   UCHAR  OplockLevel;             //授予文件的操作锁   UCHAR  Reserved;   ULONG  CreateAction;            //由创建采取的动作   UINT64 FileId;                  //用于该打开的ID   UINT64 CreationTime;            //文件时间信息   UINT64 LastAccessTime;   UINT64 LastWriteTime;   UINT64 LastChangeTime;   UINT64 AllocationSize;          //文件大小信息   UINT64 EndOfFile;   ULONG  FileAttributes;          //文件的NT属性   ULONG Reserved2;                //用于8字节的排列   ULONG CreateContextsOffset;       //对于额外创建参数的响应   ULONG CreateContextsLength;   UCHAR Buffer[1];                //CreateContexts[]}SMB2_RESP_CREATE,*PSMB2_RESP_CREATE;#define SMB2_CREATE_EA_BUFFER               (ULONG)(′AtxE′)#define SMB2_CREATE_SD_BUFFER               (ULONG)(′DceS′)#define SMB2_CREATE_MARSHALLED_TRANSACTION  (ULONG)(′xTrM′)#define SMB2_CREATE_MINIVERSION             (ULONG)(′rVnM′)#define SMB2_CREATE_VERSION                 (ULONG)(′sreV′)#define SMB2_CREATE_NTFS_FID                (ULONG)(′diFN′)#define SMB2_CREATE_TIMEWARP_TOKEN          (ULONG)(′prWT′)#define SMB2_CREATE_EFS_STREAM              (ULONG)(′sfES′)#define SMB2_CREATE_CLIENT_SIDE_ENCRYPTION  (ULONG)(′1ESC′) 
创建请求是长度可变的请求以允许用除了传统的明确定义的属性外的各种属性进行文件的创建。标准的情况(其中没有扩展的属性存在)是简单直接的;客户端填充RootDirectoryFid(如果希望的话,用于相对的打开)、DesiredAccess、FileAttributes、ShareAccess、CreateDisposition、以及CreateOptions。它们设置希望的操作锁等级并填充QoS的SecurityFlags和Impersonation等级。当前,没有定义的SmbCreateFlags但是有用于它们的使用的被分配好的空间。客户端把该分组发送至服务器,服务器打开文件并返回失败代码,或返回与标识文件的FileId、Creation/LastAccess/LastWrite/LastChangeTime、AllocationSize以及EndOfFile信息、和FileAttributes一起的Success(成功)。 
这是与以当前协议操作的方式大部分相同的一般情况。对于更高级的情况,考虑用户要创建具有扩展属性(EA)的文件。在先前的协议中,有一种通过Transact(事务)调用来处理这个的完全不同的方式。现在,客户端能如一般地建立创建请求,并也能在创建请求的末端处添加CreateContext。请求将具有名称“ExtA”并且Data(数据)将包含要设置在文件上的EA。当服务器接收到这个请求时,它会分析出EA数据并把该EA数据与创建一起发出。创建上下文也能在创建响应时被返回以提供其他信息。对于第一次迭代,名称长度是4,从而我们能把它们格式成一样长并在它们上面切换。CreateContext的当前列表如下: 
1)“ExtA”-数据包含要放置在创建的文件上的扩展属性。 
2)“SecD”-数据包含要放置在创建的文件上的相对于自己的安全描述符。 
3)“TWrp”-数据包含应该被用于寻找要打开的文件的时间异常时间标记。 
  时间标记采用系统时间格式。 
4)“MrTx”-数据包含当事务性地打开文件时要被使用的编组的事务。 
5)“MnVr”-数据包含最小版本号(ULONG)以打开处理的文件。 
6)“Vers”-数据包含打开的文件(创建响应)的版本号(ULONG)。 
7)“NFid”-数据包含打开的文件(创建响应)的NTFS Fid 
  (LARGE_INTEGER)。 
8)“$Efs”-数据包含要被标记在新的加密文件上的$EFS流。 
9)“CSE1”-数据包含打开的加密文件(创建响应)的$EFS流。 
由于服务器的支持,更多的CreateContext值可被添加。(由于值被添加,它们具有或与它们关联或与新方言版本关联的能力位,以使客户端在发出创建请求之前知道服务器支持哪些标记)。接收具有未被识别的上下文标记的创建请求的服务器会使该请求失败。 
关闭(CLOSE) 
客户端发送Close以关闭先前被打开的文件的实例。一旦关闭被处理,那么在先前的FID上没有文件操作被允许。 
格式typedef struct_SMB2_REQ_CLOSE{   USHORT    StructureSize;   USHORT    Reserved;   ULONG     Flags;   UINT64    FileId;   UINT64    LastWriteTime;}SMB2_REQ_CLOSE,*PSMB2_REQ_CLOSE;typedef struct_SMB2_RESP_CLOSE{   USHORT    StructureSize;   USHORT    Reserved;}SMB2_RESP_CLOSE,*PSMB2_RESP_CLOSE; 
对于Close命令,客户端指定正被关闭的文件的FileId和LastWriteTime(以SystemTime格式)。这允许客户端设置在文件上被执行的高速缓存的写的最后时间作为对该文件的最后写时间。客户端也能发送0的LastWriteTime以表明它们不希望指定一个时间。该结构也对当前没有被定义的、但可能在随后被定义的Close标记分配空间。 
清除(FLUSH) 
清除命令通知服务器清除关于给定的文件的所有高速缓存的数据。 
格式 
typedef struct_SMB2_REQ_FLUSH{ 
USHORT StructureSize; 
USHORT Reserved1; 
ULONG  Reserved2; 
UINT64 FileId;}SMB2_REQ_FLUSH,*PSMB2_REQ_FLUSH;typedef struct_SMB2_RESP_FLUSH{   USHORT StructureSize;   USHORT Reserved;} 
在从服务器接收成功响应时,客户端被保证所有高速缓存的数据已经被清除到 它们备份持久存储。客户端指定它希望清除的文件的FileId。直到所有数据从管道中消除,该管道上的清除才返回,这需要花费一些时间。 
读(READ) 
从打开的文件中读数据。 
格式typedef struct_SMB2_REQ_READ{   USHORT StructureSize;       //=sizeof(SMB2_REQ_READ)   UCHAR  Padding;             //从头部的开始处请求的读数据响应的填充   UCHAR  Reserved;   ULONG  Length;              //在该信道上发送的读的长度   UINT64 Offset;              //读的偏移量   UINT64 FileId;              //文件的标识符   ULONG  MinimumCount;        //读并被考虑为成功的最小字节   ULONG  Channel;             //在其上发送剩余数据的信道   ULONG  RemainingBytes;      //如果信道!=0,额外的字节被读取并在信道上发送, 
                           //否则为计划还要读多少   USHORT ReadChannelInfoOffset;//如果信道!=0,为关于要在其上发送额外数据的信道的 
                              信息   USHORT ReadChannelInfoLength;   UCHAR  Buffer[1];            //ReadChannelInfo}SMB2_REQ_READ,*PSMB2_REQ_READ;typedef struct_SMB2_RESP_READ{   USHORT StructureSize;        //=sizeof(SMB2_RESP_READ)   UCHAR  DataOffset;           //对于包内的数据的偏移量   UCHAR  Reserved;   ULONG  DataLength;        //作为这个分组的一部分的数据返回的长度   ULONG  DataRemaining;     //正在备选信道(如果指定)上发送的数据的长度, 
                         //否则为我们准备再要读多少数据   UCHAR Buffer[1];               //Pad[],Data[]}SMB2_RESP_READ,*PSMB2_RESP_READ; 
读是非常明显的。客户端指定读的文件(通过FileId)、偏移量、以及长度,并且服务器返回数据。客户端能指定几个其他属性。MinCount告诉服务器用于成功返回的它能从文件中读取的最大量。如果读是短的,那么服务器仅仅返回失败而不返回整个数据缓冲器。为了更好的处理,客户端也能推荐填充(Padding)。这是在 服务器应该放置数据的读响应分组内的偏移量。这允许客户端当从传送中接收下信息时以更有效的方式拟定读响应缓冲器。剩余字段向服务器表明如果这只是读的一部分,则整个读将有多少。如此,如果客户端正准备以1k信息块的方式读8k,那么它将发出读1k并且剩余(Remaining)=7k。这允许服务器具有通过在一个操作内读取整个8k并把数据缓冲回客户端来优化的选项。 
在服务器响应时,它表明多少数据正在返回(在DataLength字段内)以及在读命令中指定的DataRemaining。 
如果在命令中指定的信道不是命令参与的信道,那么用户请求信道读。这意味着如果我使用“信道=1”和“长度=0,剩余=64k”请求在信道0上读,那么服务器将响应“DataLength(数据长度)=0,DataRemaining(数据剩余)=64k”以及接下来来自信道1的64k字节将是数据。客户端负责使此同步以使当该命令发出时,确保在信道1上没有未完成的数据响应。客户端也能发出(在信道0上)“读信道=1,数据长度=1k,剩余=7k”,以使响应会包含数据的第一个1k以及剩余的数据(最后7k)可流过信道1。 
写(WRITE) 
对打开的文件写数据。 
格式typedef struct_SMB2_REQ_WRITE{   USHORT StructureSize;            //=sizeof(SMB2_REQ_WRITE)   USHORT DataOffset;               //数据离开头部的偏移量   ULONG  Length;                   //正在被写的数据的长度   UINT64 Offset;                   //写的文件偏移量   UINT64 FileId;                   //正在被写入的文件的标识符   ULONG  Channel;                  //如果是非0,剩余数据应在其上发送的信道   ULONG  Remaining;                //在信道上被发送的字节数   USHORT WriteChannelInfoOffset;   //如果信道!=0,我们希望对其写数据的信道的信息   USHORT WriteChannelInfoLength;   ULONG  Flags;   UCHAR  Buffer[1];                //WriteChannelInfo}SMB2_REQ_WRITE,*PSMB2_REQ_WRITE; typedef struct_SMB2_RESP_WRITE{   USHORT StructureSize;                  //=sizeof(SMB2_RESP_WRITE)   USHORT Reserved;   ULONG  Count;                          //被写的数据的量   ULONG  Remaining;                      //我们能在信道上接收的字节的数量   USHORT WriteChannelInfoOffset;         //如果信道!=0,我们希望对其写数据的信道的可选信息   USHORT WriteChannelInfoLength;   UCHAR  Buffer[1];                      //WriteChannelInfo}SMB2_RESP_WRITE,*PSMB2_RESP_WRITE; 
客户端填充文件(由FileId标识)、偏移量、写的长度、以及附加的数据。推荐数据被填充在原始协商响应内被返回以帮助服务器性能。客户端也能表明将对服务器再写多少数据以允许服务器最优化。在响应时,服务器表明写了多少,并返回它依然期待的量。 
如果在写内指定的信道不是命令参与的信道,那么客户端请求在另一信道上流式传输数据。一个例子是具有“信道=1,长度=0,剩余64K”的在信道0上接收到的写。客户端请求在信道1上流式传输64k写。服务器会响应“计数=0,剩余=64k”以允许写。该响应将包括在数据被在信道上发送和确认之后将到来的第二响应的AsyncId。然后,接下来的在信道1上流式传输的64k字节将是数据。(没有头部)。在完成之后,服务器将在信道0上发送SMB2_RESP_WRITE以表明操作的成功/失败,并使用AsyncId信息发送第二回复,除非该指定信道允许内在确认,这种情况下它将在信道上发生。 
打开操作锁(BREAK_OPLOCK) 
被用以请求和确认在文件上采用的机会锁(opportunistic lock)的释放。 
格式typedef struct_SMB2_REQ_BREAK_OPLOCK{   USHORT StructureSize;        //=sizeof(SMB2_REQ_BREAK_OPLOCK)   UCHAR  OplockLevel;          //打开到的级别.(级别2or无级别)   UCHAR  Reserved;   ULONG  Reserved2;            //超时(单位秒)   UINT64 FileId;            //正在被上锁/解锁的文件的标识符}SMB2_REQ_BREAK_OPLOCK,*PSMB2_REQ_BREAK_OPLOCK;typedef struct_SMB2_RESP_BREAK_OPLOCK {   USHORT StructureSize;            //=sizeof(SMB2_RESP_LOCK)   UCHAR  OplockLevel;              //已打开到的级别(<=请求的级别)   UCHAR  Reserved;   ULONG  Reserved2;   UINT64 FileId;}SMB2_RESP_BREAK_OPLOCK,*PSMB2_RESP_BREAK_OPLOCK; 
当另一用户请求访问该客户端以需要打开现有的锁的形式对其保持机会锁的文件时,SRV将发送SMB2_RESP_BREAK_OPLOCK至客户端。然后,客户端被期待发送给定文件的REQ_BREAK_OPLOCK以释放它们的操作锁,并且SRV将再次响应以确认。 
锁(LOCK) 
被用以请求字节范围锁,并也被用以请求机会锁(以及当机会锁被打开时通知客户端)。 
格式#define SMB2_LOCKFLAG_SHARED_LOCK        0x01#define SMB2_LOCKFLAG_EXCLUSIVE_LOCK     0x02#define SMB2_LOCKFLAG_UNLOCK             0x04#define SMB2_LOCKFLAG_FAIL_IMMEDIATELY   0xl0typedef struct_SMB2_LOCK{   UINT64 Offset;   UINT64 Length;   ULONG  Flags;   ULONG  Reserved;}SMB2_LOCK,*PSMB2_LOCK;typedef struct_SMB2_REQ_LOCK{   USHORT StructureSize;            //=sizeof(SMB2_REQ_LOCK)   UCHAR  LockCount;   ULONG  Reserved;   UINT64 FileId;                   //正在被上锁/解锁的文件的标识符   SMB2_LOCK Locks[1];              //大小的数组(LockCount)}SMB2_REQ_LOCK,*PSMB2_REQ_LOCK;typedef struct_SMB2_RESP_LOCK{   USHORT StructureSize;            //=sizeof(SMB2_RESP_LOCK)   USHORT Reserved;}SMB2_RESP_LOCK,*PSMB2_RESP_LOCK; 
LOCK请求的语法类似于SMB1Lock请求的语法。客户端指定FileId,以及一 个或多个表明它们希望上锁的偏移量和长度的SMB_LOCK结构。所有这些LOCK结构必须是上锁或解锁。然而,你能把共享的和专有的锁请求混合在单批锁操作中。对于锁分批的最普遍的使用是要求一系列锁作为一批操作锁打开(oplock break)的一部分,当你保证所有的锁将成功时这个是最有用的。 
成功返回向客户端表明它们获取(或释放)请求的字节范围锁。在失败的情况下,字节范围锁不被授予。 
回送(ECHO) 
回送由客户端使用以及时确定服务器是否依然在给定的点上。在接收这个命令后,服务器将仅仅把它回转并返回成功。 
格式typedef struct_SMB2_REQ_ECHO{   USHORT StructureSize;   USHORT Reserved;}SMB2_REQ_ECHO,*PSMB2_REQ_ECHO;typedef struct_SMB2_RESP_ECHO{   USHORT StructureSize;   USHORT Reserved;}SMB2_RESP_ECHO,*PSMB2_RESP_ECHO; 
服务器对分组进行响应以表明它正常工作。用于允许客户端对服务器进行“ping”。 
取消(CANCLE) 
由客户端使用以请求对已发送的操作的取消。 
格式typedef struct_SMB2_REQ_CANCEL{   USHORT StructureSize;   USHORT Reserved;}SMB2_REQ_CANCEL,*PSMB2_REQ_CANCEL; 
取消没有响应,但应该导致命令本身被成功地完成,或以STATUS_CANCELLED失败,并且这应该是尽快发生的。由于正在被发送的操作将共享取消命令的MessageId,所以它被标识。这是一种发送到服务器的MessageId已经被先前使用的情况。如果响应伴随应该存在于头部内的AsyncId到来,那么会 被用以在服务器上定位命令。 
IOCTL 
Ioctl被用以通过网络发出设备控制或文件系统控制命令。 
格式//请求typedef struct_SMB2_REQ_IOCTL{   USHORT StructureSize;            //=sizeof(SMB2_REQ_TRANSACT)   USHORT Reserved;   ULONG  CtlCode;   UINT64 FileId;   ULONG  InputOffset;              //用于输入缓冲器的字节   ULONG  InputCount;               //在该消息内的参数字节计数   ULONG  MaxInputResponse;         //服务器能返回响应参数的最大字节   ULONG  OutputOffset;             //数据字节位置   ULONG  OutputCount;              //在该消息内的数据字节计数   ULONG  MaxOutputResponse;        //服务器能返回响应数据的最大字节   ULONG  Flags;   ULONG  Reserved2;   UCHAR  Buffer[1];                //参数[],数据[]}SMB2_REQ_IOCTL,*PSMB2_REQ_IOCTL;//响应typedef struct_SMB2_RESP_IOCTL{   USHORT  StructureSize;           //=sizeof(SMB2_RESP_TRANSACT)   USHORT  Reserved;   ULONG   CtlCode;   UINT64  FileId;   ULONG   InputOffset;             //用于输入缓冲器的字节   ULONG   InputCount;              //在该消息内的参数字节计数   ULONG   OutputOffset;            //数据字节位置   ULONG   OutputCount;             //在该消息内的数据字节计数   ULONG   Flags;   ULONG   Reserved2;   UCHAR   Buffer[1];               //参数[],数据[]}SMB2_RESP_IOCTL,*PSMB2_RESP_IOCTL;}SMB2_RESP_TRANSACT,*PSMB2_RESP_TRANSACT; 
IOCTL被用于通过网络发出一般的文件系统或设备控制命令。它基于控制代码 的METHOD(方法)把输入和输出缓冲器打包并通过网络发送它们。然后,服务器方重新把它们封装并发出针对文件对象的FSCTL/IOCTL。结果被同样地打包并与状态代码一起被返回到用户。可允许的FSCTL/IOCTL代码组可由SRV或底层文件系统限制。(不是所有的都必须远程地有效)。 
对于缓冲的或直接的请求,仅仅Input(输入)在请求上是有效的,并且Output(输出)在响应上被发送。对于不是这样的请求,输入和输出通过两种方式发送。 
查询目录(QUERY DIRECTORY) 
允许客户端通过网络查询在打开目录句柄上的目录枚举。 
格式 
// 
//QUERY_DIRECTORY命令 
// 
#define SMB2_REOPEN     0x10 
//请求 
typedef struct_SMB2_REQ_QUERY_DIRECTORY 
   USHORT StructureSize;          //= 
                               //sizeof(SMB2_REQ_QUERY_DIRECTORY) 
   UCHAR  FileInformationClass; 
   UCHAR Flags;                   //SL_/SMB2_flags 
   ULONG FileIndex; 
   UINT64 FileId; 
   USHORT FileNameOffset; 
   USHORT FileNameLength; 
   ULONG OutputBufferLength; 
   UCHAR Buffer[1];               //FileName参数 
}SMB2_REQ_QUERY_DIRECTORY,*PSMB2_REQ_QUERY_DIRECTORY; 
//响应 
typedef struct_SMB2_RESP_QUERY_DIRECTORY 
   USHORT StructureSize;          //=sizeof(SMB2_RESP_QUERY_DIRECTORY) 
   USHORT OutputBufferOffset; 
   ULONG  OutputBufferLength; 
   UCHAR Buffer[1];               //响应数据 
}SMB2_RESP_QUERY_DIRECTORY,*PSMB2_RESP_QUERY_DIRECTORY; 
QueryDirectory调用非常匹配现有的NT语义。调用者提供用于目录打开的InfoClass、FileId、filename(文件名)部分(指定通配符/文件搜索参数或用于现有搜索的概要名称)以及任何有效的与调用关联的SL_标记,SRV将返回一缓冲器 直到OutputBufferLength。 
也存在能被包括在QueryDirectory标记结构内的新的标记(SMB2_REOPEN)。该标记是SL_RESTART_SCAN标记的更强的版本。SL_RESTART_SCAN标记仅仅允许重新开始扫描指定的搜索没有更改的部分。(也就是说,重新开始*.*或t*搜索)。SL_RESTART_SCAN标记告诉服务器重新开始扫描指定的搜索已经更改的部分。为了使用该标记,调用者必须保证调用中的专用且没有未完成的操作(诸如更改通知)。服务器采取适当的步骤执行该操作,这可涉及在服务器方关闭和重新打开底层的目录句柄。这对于客户端而言是透明的。 
更改通知(CHANGE NOTIFY) 
该潜在的长时间运行的操作允许客户端在目录上登记更改通知。 
格式 
// 
//CHANGE_NOTIFY命令 
// 
//请求 
typedef struct_SMB2_REQ_CHANGE_NOTIFY 
   USHORT StructureSize;           //= 
                                 //sizeof(SMB2_REQ_CHANGE_NOTIFY) 
   USHORT Flags;                   //SL_WATCH_TREE? 
   ULONG  OutputBufferLength; 
   UINT64 FileId; 
   ULONG  CompletionFilter; 
   ULONG  Reserved; 
}SMB2_REQ_CHANGE_NOTIFY,*PSMB2_REQ_CHANGE_NOTIFY; 
//响应 
typedef struct_SMB2_RESP_CHANGE_NOTIFY 
   USHORT StructureSize;          //= 
                                //sizeof(SMB2_RESP_CHANGE_NOTIFY) 
   USHORT OutputBufferOffset; 
   ULONG  OutputBufferLength; 
   UCHAR  Buffer[1];              //通知数据 
}SMB2_RESP_CHANGE_NOTIFY,*PSMB2_RESP_CHANGE_NOTIFY; 
调用者发送目录的FileId和指定调用者感兴趣的更改的CompletionFilter。它们也能发送SL_WATCH_TREE标记以表明循环的通知操作。由于该操作可能等待无 限的时间,因此它几乎总是调用“async(异步)”行为。也需要注意的是任何其他关于相同句柄的更改通知请求将等待第一个请求的完成,正如在本地文件系统行为中的那样。 
查询信息(QUERY INFO) 
允许客户端从远程系统中查询信息。当前,这可被用以查询文件信息、文件-系统信息、安全信息、或配额信息。 
格式 
// 
//QUERY_INFO 
// 
#define SMB2_0_INFO_FILE            0x01 
#define SMB2_0_INFO_FILESYSTEM      0x02 
#define SMB2_0_INFO_SECURITY        0x03 
#define SMB2_0_INFO_QUOTA           0x04 
typedef struct_SMB2_QUERY_QUOTA_INFO{ 
   UCHAR ReturnSingleEntry;//表明仅仅应该返回单个条目而不是向缓冲器填充尽可能多的 
                                    条目 
   UCHAR RestartScan;             //表明配额信息的扫描是否要从头重新开始 
   USHORT Reserved; 
   ULONG SidListLength;           //提供SID列表(如果存在)的长度 
   ULONG StartSidLength;          //提供可选的SID,该SID表明返回的信息要开始于 
                            //不是第一个条目的条目。如果给定SidList,那么该参数被 
                            忽略 
   ULONG StartSidOffset;          //提供缓冲器内开始Sid的偏移量 
}SMB2_QUERY_QUOTA_INFO,*PSMB2_QUERY_QUOTA_INFO; 
//Request 
typedef struct_SMB2_REQ_QUERY_INFO 
   USHORT StructureSize;          //=sizeof(SMB2_REQ_QUERY_INFO) 
   UCHAR InfoType;                //确定信息类型 
                                //(SMB2_0_INFO_*) 
   UCHAR  FileInfoClass; 
   ULONG  OutputBufferLength; 
   USHORT InputBufferOffset;        //输入缓冲器仅仅在Quota(配额)调用上有效 
   USHORT Reserved; 
   ULONG  InputBufferLength; 
   union{ 
      ULONG  SecurityInformation;   //用于Query Security(查询安全)调用 
      ULONG  EaIndex;             //用于QueryEA调用 
   }; 
   ULONG  Flags; 
   UINT64 FileId; 
   UCHAR Buffer[1]; 
}SMB2_REQ_QUERY_INFO,*PSMB2_REQ_QUERY_INFO; 
//Response 
typedef struct_SMB2_RESP_QUERY_INFO 
   USHORT StructureSize;          //=sizeof(SMB2_RESP_QUERY_INFO) 
   USHORT OutputBufferOffset; 
   ULONG  OutputBufferLength; 
   UChAR  Buffer[1];              //文件信息 
}SMB2_RESP_QUERY_INFO,*PSMB2_RESP_QUERY_INFO; 
客户端在InfoType内指定SMB2_0_INFO_*选项以表明这是否是对于文件信息、文件系统信息、安全信息、或配额信息的请求。FileId指示正在被讨论的文件(用于文件信息或安全信息)。文件所驻留的卷(volume)被用于文件系统信息或查询请求。 
子信息等级被填充到FileInfoClass,并且取决于正在被查询的信息的类型。对于文件信息查询,它是FILE_INFORMATION_CLASS,而对于文件系统信息,它是FS_INFORMATION_CLASS。对于配额和安全,它是0。 
输入缓冲器当前仅仅用于Quota请求,因为它们在输入上采用SMB2_QUERY_QUOTA_INFO结构以确定正在被请求的内容。对于其他请求,它是空。 
OutputBufferLength指定返回给用户的数据的最大量。 
设置信息(SET INFO) 
允许客户端在远程系统上设置信息。当前,这可被用以设置文件信息、文件-系统信息、安全信息、或配额信息。 
格式 
// 
//SET_INFO 
// 
//请求 
typedef struct_SMB2_REQ_SET_INFO 
   USHORT StructureSize;           //=sizeof(SMB2_REQ_SET_INFO) 
   UCHAR  InfoType; 
   UCHAR  FileInfoClass; 
   ULONG  BufferLength; 
   USHORT BufferOffset; 
   USHORT Reserved; 
   union{ 
      ULONG  Reserved2; 
      ULONG  SecurityInformation;//用于SET_SECURITY调用 
   }; 
   UINT64  FileId; 
   UCHAR   Buffer[1];             //文件信息 
}SMB2_REQ_SET_INFO,*PSMB2_REQ_SET_INFO; 
//Response 
typedef struct_SMB2_RESP_SET_INFO 
   USHORT StructureSize;           //=sizeof(SMB2_RESP_SET_INFO) 
}SMB2_RESP_SET_INFO,*PSMB2_RESP_SET_INFO; 
正在被设置的信息的类型以及特定的类在Flags和FileInfoClass字段内被设置,如对QUERY_INFO描述的那样。提供的输入缓冲器是正在被设置的信息,并且FileId标识文件。 
对于SetSecurity调用,SecurityInformation字段指示正在被设置的信息。(即,OWNER_SECURITY_INFORMATION等) 
结论 
尽管本发明受各种修改和可供选择的构造的影响,其中说明的某些实施例已经在附图中显示并在以上被详细描述。然而,应该理解的是本发明不被限制于公开的特定形式,相反,本发明涵盖所有的在本发明的精神和范围内的修改、可供选择的构造、和等同物。 

Claims (5)

1.网络计算环境中的一种方法,包括:
在服务器接收来自客户端的包括多个命令的复合请求;
确定复合请求是否包括无关命令或相关命令,其中所述相关命令具有相同的文件句柄,并且其中所述无关命令不具有相同的文件句柄;以及
当复合请求包括无关命令时,把每个请求作为单独请求进行处理;以及
当复合请求包括相关命令时,依次处理每个请求。
2.根据权利要求1所述的方法,其特征在于,所述复合请求包括包含创建/打开命令的相关命令,其中依次处理每个请求包括对于每个后续的相关命令使用来自创建/打开命令的文件句柄。
3.根据权利要求1所述的方法,其特征在于,还包括处理通过创建命令接收到的额外上下文数据。
4.根据权利要求1所述的方法,其特征在于,还包括处理数据信道上的I/O相关请求,所述数据信道与接收复合请求的信道是分开的。
5.根据权利要求1所述的方法,其特征在于,进一步包括接收一组命令中从客户端发送至服务器的至少一个命令,所述组包括具有附加的额外上下文数据的创建命令、包括多个相关命令的相关复合命令以及包括多个无关命令的无关复合命令、和/或请求在单独数据信道上的数据通信的数据相关命令。
CN2005101279978A 2005-05-25 2005-12-09 用于通过使用数据通信协议在网络计算环境内通信的方法 Active CN1870642B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110329007.4A CN102394872B (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,251 2005-07-15
US11/182,251 US8332526B2 (en) 2005-05-25 2005-07-15 Data communication protocol including negotiation and command compounding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201110329007.4A Division CN102394872B (zh) 2005-05-25 2005-12-09 数据通信协议

Publications (2)

Publication Number Publication Date
CN1870642A CN1870642A (zh) 2006-11-29
CN1870642B true CN1870642B (zh) 2012-04-18

Family

ID=35520984

Family Applications (4)

Application Number Title Priority Date Filing Date
CN2005101279978A Active CN1870642B (zh) 2005-05-25 2005-12-09 用于通过使用数据通信协议在网络计算环境内通信的方法
CN2005101279982A Active CN1870643B (zh) 2005-05-25 2005-12-09 用于利用顺序号的数据通信协调的方法和系统
CN201210434813.2A Active CN102932457B (zh) 2005-05-25 2005-12-09 用于利用顺序号的数据通信协调的方法和系统
CN201110329007.4A Active CN102394872B (zh) 2005-05-25 2005-12-09 数据通信协议

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN2005101279982A Active CN1870643B (zh) 2005-05-25 2005-12-09 用于利用顺序号的数据通信协调的方法和系统
CN201210434813.2A Active CN102932457B (zh) 2005-05-25 2005-12-09 用于利用顺序号的数据通信协调的方法和系统
CN201110329007.4A Active CN102394872B (zh) 2005-05-25 2005-12-09 数据通信协议

Country Status (7)

Country Link
US (7) US8332526B2 (zh)
EP (4) EP3098732B1 (zh)
CN (4) CN1870642B (zh)
AT (2) ATE516656T1 (zh)
DE (1) DE602005010837D1 (zh)
ES (1) ES2604972T3 (zh)
HK (5) HK1157959A1 (zh)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
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
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
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
WO2010111438A2 (en) 2009-03-25 2010-09-30 Pacid Technologies, Llc System and method for protecting a secrets file
TW201103298A (en) * 2009-03-25 2011-01-16 Pacid Technologies Llc Method and system for securing communication
WO2010111448A1 (en) 2009-03-25 2010-09-30 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
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
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 曙光信息产业股份有限公司 共享数据访问方法
US9805053B1 (en) 2013-02-25 2017-10-31 EMC IP Holding Company LLC Pluggable storage system for parallel query engines
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
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
US20160246845A1 (en) * 2013-10-22 2016-08-25 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 北京思特奇信息技术股份有限公司 一种基于单进程的数据异步查询方法及系统
US11388265B2 (en) * 2015-01-05 2022-07-12 Convida Wireless, Llc Machine-to-machine protocol indication and negotiation
US11151082B1 (en) * 2015-03-31 2021-10-19 EMC IP Holding Company LLC File system operation cancellation
US11144504B1 (en) * 2015-03-31 2021-10-12 EMC IP Holding Company LLC Eliminating redundant file system operations
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
WO2017165610A1 (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
CN107682114B (zh) * 2017-09-01 2020-08-25 惠州市德赛西威汽车电子股份有限公司 一种提高数据传输效率的方法
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
US12120208B2 (en) * 2018-06-25 2024-10-15 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通信协议的通信卡
WO2020243420A1 (en) * 2019-05-29 2020-12-03 TADA Cognitive Solutions, LLC Digital duplicate
US10909160B2 (en) 2019-05-29 2021-02-02 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
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 北京天融信网络安全技术有限公司 基于协议的混淆通信方法及客户终端、服务器、存储介质
KR102668919B1 (ko) * 2021-04-16 2024-05-27 한국과학기술원 네트워크에 연결된 시스템의 보안을 위한 프로토콜 다이얼렉트 기법
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与无线电通信电台之间的通信方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453354B1 (en) * 1999-03-03 2002-09-17 Emc Corporation File server system using connection-oriented protocol and sharing data sets among data movers

Family Cites Families (250)

* Cited by examiner, † Cited by third party
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
US5265261A (en) 1989-08-14 1993-11-23 Microsoft Corporation Method and system for network communications using raw mode protocols
US5261051A (en) 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
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
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
AU6233800A (en) * 1999-07-23 2001-02-13 Merck & Co., Inc. Text influenced molecular indexing system and computer-implemented and/or computer-assisted method for same
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
US7107341B2 (en) 2001-12-07 2006-09-12 Research In Motion Limited System and method of managing information distribution to mobile stations
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
AU2003246189A1 (en) 2002-07-01 2004-01-19 Kabushiki Kaisha Toshiba Seamless system, recording medium, computer system processing continuation method
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
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
US7526640B2 (en) 2003-06-30 2009-04-28 Microsoft Corporation System and method for automatic negotiation of a security protocol
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
KR100984497B1 (ko) * 2003-07-24 2010-10-01 파나소닉 주식회사 파일 관리 방법 및 정보 처리 장치
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
US7231397B2 (en) 2003-10-24 2007-06-12 Microsoft Corporation Method and system for transacted file operations over a network
US7539722B2 (en) * 2003-10-24 2009-05-26 Microsoft Corporation Method and system for accessing a file
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
US7177941B2 (en) * 2003-12-11 2007-02-13 International Business Machines Corporation Increasing TCP re-transmission process speed
US7243284B2 (en) * 2003-12-11 2007-07-10 International Business Machines Corporation Limiting number of retransmission attempts for data transfer via network interface controller
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
US7627627B2 (en) * 2004-04-30 2009-12-01 Hewlett-Packard Development Company, L.P. Controlling command message flow in a network
US20050246803A1 (en) * 2004-04-30 2005-11-03 Spencer Andrew M Peripheral device for processing data from a computing device
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
JP2008530835A (ja) * 2005-02-08 2008-08-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パケット交換ネットワーク上のオンデマンドマルチチャネルストリーミングセッション
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
EP1727056B1 (en) 2005-05-25 2008-11-05 Microsoft Corporation Data communication protocol
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
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
US9621649B2 (en) * 2007-09-28 2017-04-11 Xcerion Aktiebolag Network operating 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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453354B1 (en) * 1999-03-03 2002-09-17 Emc Corporation File server system using connection-oriented protocol and sharing data sets among data movers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
THE OPEN GROUP, X/OPEN COMPANY LIMITED, X/OPEN.Technical Standard Protocols for X/OPEN PC Interworking: SMB, Version 2.《Technical Standard Protocols for X/OPEN PC Interworking: SMB, Version 2》.1992,正文第2.1,2.2,2.2.2,3.9,4.3.7,5.1,5.3.6,16.1.5节,第3页倒数第1段及第199-200页. *

Also Published As

Publication number Publication date
HK1121886A1 (en) 2009-04-30
US9438696B2 (en) 2016-09-06
US8316129B2 (en) 2012-11-20
HK1180855A1 (zh) 2013-10-25
EP2259548A2 (en) 2010-12-08
CN102394872B (zh) 2015-09-02
EP1950933A1 (en) 2008-07-30
ES2604972T3 (es) 2017-03-10
EP2259548B1 (en) 2016-09-07
EP2317732B1 (en) 2014-07-16
US8332526B2 (en) 2012-12-11
US9071661B2 (en) 2015-06-30
US20060271692A1 (en) 2006-11-30
CN102394872A (zh) 2012-03-28
ATE413653T1 (de) 2008-11-15
CN1870643A (zh) 2006-11-29
HK1166901A1 (zh) 2012-11-09
US20150026248A1 (en) 2015-01-22
EP2317732A1 (en) 2011-05-04
US8850025B2 (en) 2014-09-30
HK1157959A1 (zh) 2012-07-06
DE602005010837D1 (de) 2008-12-18
CN1870642A (zh) 2006-11-29
EP3098732A1 (en) 2016-11-30
EP1950933B1 (en) 2011-07-13
ATE516656T1 (de) 2011-07-15
US20060271697A1 (en) 2006-11-30
US9332089B2 (en) 2016-05-03
HK1099586A1 (en) 2007-08-17
US20150281404A1 (en) 2015-10-01
US20130304932A1 (en) 2013-11-14
CN1870643B (zh) 2012-12-19
US8825885B2 (en) 2014-09-02
CN102932457A (zh) 2013-02-13
EP2259548A3 (en) 2011-02-09
EP3098732B1 (en) 2018-10-17
US20130097211A1 (en) 2013-04-18
CN102932457B (zh) 2016-01-06
US20130091199A1 (en) 2013-04-11

Similar Documents

Publication Publication Date Title
CN1870642B (zh) 用于通过使用数据通信协议在网络计算环境内通信的方法
KR101036751B1 (ko) 데이터 통신 프로토콜
CN101682635B (zh) 复用式数据流协议
CN101682634B (zh) 用于基于事务的通信的文件协议
US6775700B2 (en) System and method for common information model object manager proxy interface and management
US8122103B2 (en) Method for controlling a multimedia device from a mobile terminal, corresponding computer programs, multimedia device and server
US20080134216A1 (en) Interface driver program for computer and recording medium therefor
KR101602308B1 (ko) 애플리케이션 데이터를 처리하기 위한 방법 및 계산 노드
TW200522630A (en) Lightweight input/output protocol
JP2006134335A (ja) スマートカードと協働する「web」タイプのブラウザを用いたオブジェクトへのアクセスシステム
US20070124344A1 (en) Method, apparatus and program storage device for providing web services-based data replication for Heterogeneous storage systems
US20020032755A1 (en) Registration system and method using a back end server
US20080301003A1 (en) System for Online Buying
US8532136B1 (en) Communication with a handset via a private network
US7895344B2 (en) Method and apparatus for remote management
KR101130475B1 (ko) 데이터 통신 프로토콜
JP2007243344A (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: 20150508

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

Effective date of registration: 20150508

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.