Data communication protocol including negotiation and command compounding
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/16
G06F-015/173
출원번호
US-0182251
(2005-07-15)
등록번호
US-8332526
(2012-12-11)
발명자
/ 주소
Kruse, David
George, Mathew
Mohamed, Ahmed
Madhavarapu, Pradeep Jnana
Subbarayan, Sundar
출원인 / 주소
Microsoft Corporation
대리인 / 주소
Merchant & Gould P.C.
인용정보
피인용 횟수 :
7인용 특허 :
74
초록▼
Described is a data communication protocol, in which a client and server negotiate in a manner that does not require the client to retry negotiation when servers are not capable of the client-desired protocol. In one example implementation, the desired protocol is SMB 2.0 or greater. The protocol de
Described is a data communication protocol, in which a client and server negotiate in a manner that does not require the client to retry negotiation when servers are not capable of the client-desired protocol. In one example implementation, the desired protocol is SMB 2.0 or greater. The protocol describes a create command with possibly additional context data attached for built-in extensibility, and a compound command comprising a plurality of related commands or unrelated commands. A multi-channel command requests data transfer on a separate data channel, a signed capability verification may be used to ensure that a secure connection is established, and the protocol provides the ability to transfer extended error data from the server in response to a request.
대표청구항▼
1. In a network computing environment, a computer-implemented method for accessing a file from a file server, the method comprising: sending a communication from a client to a file server using a first dialect of a data communication protocol and containing an indication that the client also support
1. In a network computing environment, a computer-implemented method for accessing a file from a file server, the method comprising: sending a communication from a client to a file server using a first dialect of a data communication protocol and containing an indication that the client also supports a second dialect of the data communication protocol, wherein the communication is a first communication in a session setup between the client and the file server to allow the client to access files stored on the file server;receiving a response from the file server formatted according to a selected dialect of the data communication protocol, wherein the selected dialect of the data communication protocol is the first dialect of the data communication protocol used by the client to send the communication when the file server is incapable of communicating using the second dialect of the data communication protocol, and wherein the selected dialect of the data communication protocol is the second dialect of the data communication protocol when the file server is capable of and prefers communicating using the second dialect of the data communication protocol;invoking a driver for handling the response formatted according to the selected dialect of the data communication protocol and one or more additional responses from the file server;sending a second communication formatted according to the selected dialect of the data communication protocol from the client to the file server for authenticating the client; andsending a third communication formatted according to the selected dialect of the data communication protocol from the client to the file server, the third communication requesting access to a file on the file server. 2. The method of claim 1 wherein the second dialect of the data communication protocol is server message block (SMB) 2.0 or greater, and the first communication from the client is otherwise formatted as an SMB1 packet with the second dialect of the data communication protocol identified therein. 3. The method of claim 1 wherein the third communication comprises a create command, the create command having additional context data attached. 4. The method of claim 1 wherein the third communication comprises a compound command, the compound command comprising a plurality of related commands. 5. The method of claim 1 wherein the third communication comprises a compound command, the compound command comprising a plurality of unrelated commands. 6. The method of claim 1 wherein the third communication comprises a data-related command, the data-related command requesting data on a data channel. 7. The method of claim 1 further comprising, sending a signed capability verification request from the client to the file server to ensure that a secure connection is established. 8. The method of claim 1 further comprising, receiving at the client extended error data from the file server in response to a request. 9. The method of claim 1 wherein the third communication comprises at least one command from a set of commands, the set containing a create command having additional context data attached, a related compound command comprising a plurality of related commands, an unrelated compound command comprising a plurality of unrelated commands, and/or a data-related command requesting data communication on a separate data channel. 10. The method of claim 1 further comprising, sending a fourth communication from the client to another file server, the fourth communication using the first dialect of the data communication protocol and containing an indication that the client also supports the second dialect of the data communication protocol. 11. At least one computer-storage medium not consisting of a propagated data signal and having computer-executable instructions, which when executed perform steps, comprising: receiving, at a network file server, a first communication protocol compound request containing a plurality of file system commands from a client, wherein at least one of the plurality of file system commands is different from a second one of the plurality of file system commands;determining that the first communication protocol compound request contains unrelated file system commands to be performed on more than one file stored in a file system;in response to determining that the first communication protocol compound request contains unrelated file system commands to be performed on more than one file stored in the file system, handling each of the plurality of file system commands as a separate file system command;receiving, at the network file server, a second communication protocol compound request containing a second plurality of file system commands from the client;determining that the second communication protocol compound request contains related file system commands to be performed on a single file stored in the file system; andin response to determining that the second communication protocol compound request contains related commands to be performed on a single file stored in the file system, handling the second plurality of file system commands sequentially. 12. The computer-storage medium of claim 11 wherein the second communication protocol compound request contains related commands including a create/open command, and wherein handling each request sequentially comprises using a file handle from the create/open command for each subsequent related command. 13. The computer-storage medium of claim 12 having further computer-executable instructions comprising, processing additional context data received with the create command. 14. The computer-storage medium of claim 11 having further computer-executable instructions comprising, handling an I/O-related request on a data channel that is separate from a channel on which the first communication protocol compound request was received. 15. The computer-storage medium of claim 11 further comprising, receiving at least one command from a set of commands that is sent from the client to the file server, the set containing a create command having additional context data attached and/or a data-related command requesting data communication on a separate data channel. 16. The computer-storage medium of claim 11 wherein each of the first communication protocol compound request and the second communication protocol compound request are received in respective single data transmissions. 17. A computer-storage medium not consisting of a propagated data signal and storing computer executable instructions that when executed by a processor perform a computer-implemented method for providing accessing to a file on a file server, the method comprising: receiving, at the file server, a communication from a client formatted using a first dialect of a data communication protocol and containing an indication that the client also supports a second dialect of the data communication protocol, the communication being a first communication in a session setup between the client and the file server to allow the client to access files stored on the file server;sending a response formatted according to a selected dialect of the data communication protocol, wherein the selected dialect of the data communication protocol is the first dialect of the data communication protocol used in formatting the communication from the client when the file server is incapable of communicating using the second dialect of the data communication protocol, and wherein the selected dialect of the data communication protocol is the second dialect of the data communication protocol when the server is capable of and prefers communicating using the second dialect of the data communication protocol;receiving from the client a second communication formatted according to the selected dialect of the data communication protocol for authenticating the client; andreceiving from the client a third communication formatted according to the selected dialect of the data communication protocol, the third communication requesting access to a file on the file server. 18. A system for providing access to files on a file server, the system comprising: at least one processor for executing computer executable instructions; and at least one computer readable storage media not consisting of a propagated data signal and storing the computer executable instructions that when executed by the at least one processor performs a method comprising:receiving a first communication protocol compound request containing a plurality of file system commands from a client, wherein at least one of the plurality of file system commands is different from a second one of the plurality of file system commands;determining that the first communication protocol compound request contains unrelated file system commands to be performed on more than one file stored in a file system;in response to determining that the first communication protocol compound request contains unrelated file system commands to be performed on more than one file stored in the file system, handling each of the plurality of file system commands as a separate file system command;receiving a second communication protocol compound request containing a second plurality of file system commands from the client;determining that the second communication protocol compound request contains related file system commands to be performed on a single file stored in the file system; andin response to determining that the second communication protocol compound request contains related commands to be performed on a single file stored in the file system, handling the second plurality of file system commands sequentially. 19. The system of claim 18 wherein each of the first communication protocol compound request and the second communication protocol compound request are received in respective single data transmissions.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (74)
Araujo,Kenneth S.; Best,Reginald P.; Douglas,Christopher P.; Heitmueler,Devin J.; Zhang,Siuling C., 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.
Choi,Moon jeong, Apparatus and method for controlling a device in a home network based upon a batch command that is generated when a name of the batch command, a name of the device, a service of the device and detail.
Baird Robert (San Jose CA) Eisenberger George (White Plains NY) Lett Alexander S. (Mahopac NY) Myers James J. (San Francisco CA) Tetzlaff William H. (Mount Kisco NY) Unger Jay G. (Mohegan Lake NY), Concurrency management using version identification of shared data as a supplement to use of locks.
Dutcher David Paul ; Lenharth Scott Alan ; Rolette ; Jr. James Michael ; Smith Stanley Alan, Dynamic creation of a user account in a client following authentication from a non-native server domain.
Kandasamy David R. (San Ramon CA) Butler Mitchel B. (Sunnyvale CA) Foss Andrew L. (Yarrow Point WA) Peterson Bradley M. (Los Altos CA) Patwardhan Chintamani M. (Sunnyvale CA) Ribble Michael T. (Los G, Fault tolerant NFS server system and mirroring protocol.
Eshel Marc M. (Tarrytown NY) Hunt Guerney D. H. (Ithaca NY) Jones Donald N. (Vestal NY) Meyer Christopher (Vestal NY) Schwartz Frederick A. (Binghamton NY), File manager for files shared by heterogeneous clients.
Xiaoye Jiang ; Uresh K. Vahalia ; Uday Gupta ; Percy Tzelnic, File server system using connection-oriented protocol and sharing data sets among data movers.
Xu Yikang ; Vahalia Uresh K. ; Jiang Xiaoye ; Gupta Uday ; Tzelnic Percy, 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.
Walker Bruce J. ; Byrne John L. ; Chow William W. ; Gertwagen John A. ; Ramirez Laura L. ; Zafman David B., Filesystem failover in a single system image environment.
Zimmet Carol (Nashua NH) Keefe Mary F. (Jamaica Plain MA) Amico Richard J. (Hollis NH), Local computer participating in mail delivery system abstracts from directory of all eligible mail recipients only serve.
Johnson Donavon W. (Georgetown TX) Morgan Stephen P. (Mahopac NY) Smith Todd A. (Austin TX), Maintenance of file attributes in a distributed data processing system.
Hendricks David (Menlo Park CA) Adams Evan (San Leandro CA) Lyon Tom (Palo Alto CA) Miller Terrence C. (Menlo Park CA), Method and apparatus for translucent file system.
Obermarck Ronald L. (Los Altos CA) Strickland Jimmy P. (Saratoga CA) Watts Vern L. (Los Gatos CA), Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment.
Rubin Darryl E. (Redmond WA) Masden Kenneth E. (Redmond WA) King John W. (Kirkland WA), Method and system for network communications using raw mode protocols.
Rubin Darryl E. (Redmond WA) Masden Kenneth E. (Redmond WA) King John W. (Kirkland WA), Method and system for network communications using raw mode protocols.
Masden Kenneth E. (Redmond WA) Smirl Jon D. (Kirkland WA) King John W. (Kirkland WA) Rubin Darryl E. (Redmond WA), Method and system for open file caching in a networked computer system.
Baird Robert (San Jose CA) Berbec Robert R. (New York NY) Bozman Gerald P. (Oakland NJ) Lett Alexander S. (Mahopac NY) Myers James J. (San Francisco CA) Tetzlaff William H. (Mount Kisco NY) Unger Jay, Method for dynamically expanding and rapidly accessing file directories.
Crossley James F. (Fulton County GA), Method for multiple programs management within a network having a server computer and a plurality of remote computers.
Donohoo Theodore J. (1027 Evergreen Trail Lino Lakes MN 55014), Method for transferring data files between computers in a network response to generalized application program instructio.
Marcotte, Scott Thomas, 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.
Meriwether Teresa Anne ; Volkmar Peter Williams ; Shields Ian Beaumont, Methods, system and computer program products for establishing a session between a host and a terminal using a reduced p.
Blakely Frank W. (Roseville CA) Hall Guy T. (Loomis CA) Winkleblack Sherry (Orangevale CA) Scaccia Jim (Roseville CA) Iwamoto Shinichi (Ohmiya JPX) Nojiri Minoru (Zushi CA JPX) Umezawa Yukihiko (Sacr, Remote processing of a plurality of commands during a session between a first computer and a host computer.
Bly Sara A. (Mountain View CA) Farrand A. Brady (Berkeley CA) Hodges Jeffery D. (Newark CA) Kupfer Michael D. (Mountain View CA) Lewis Brian T. (Palo Alto CA) Maybury William J. (Torrance CA) Tallan , Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstat.
Karp Alan H. (Palo Alto CA) Hao Ming C. (Los Altos Hills CA) Gupta Rajiv (Los Altos CA), Sender-selective send/receive order processing on a per message basis.
Parsons ; Jr. John E. ; Graziadio Bradley J. ; Momoh Oshoma, Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers.
Johnson Donavon W. (Georgetown TX) Neuman Grover H. (Austin TX) Sauer Charles H. (Austin TX) Shaheen-Gouda Amal A. (Austin TX) Smith Todd A. (Austin TX), System and method for accessing remote files in a distributed networking environment.
Kells Timothy Roger ; Peebles Thomas Frank, System and method for supporting distributed computing mechanisms in a local area network server environment.
Henson Larry W. (Austin) Shaheen-Gouda Amal A. (Austin) Smith Todd A. (Austin TX), System for file and record locking between nodes in a distributed data processing environment maintaining one copy of ea.
Kaufman Charles W. (Northborough MA) Pearlman Radia J. (Acton MA) Gasser Morrie (Hopkinton MA), System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authe.
Roger Gregory Hathorn ; Bret Wayne Holley ; James Lincoln Iskiyan, System, method, and program for handling failed connections in an input/output (I/O) system.
Ian Beaumont Shields ; Peter Williams Volkmar, Systems, methods and computer program products for employing presumptive negotiation in a data communications protocol.
George, Mathew; Kruse, David M.; Pinkerton, James T.; Battepati, Roopesh C.; Jolly, Tom; Swan, Paul R.; Shang, Mingdong; Lovinger, Daniel Edward, Transparent failover.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.