Data communication coordination with sequence numbers
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/173
G06F-015/16
출원번호
US-0182989
(2005-07-15)
등록번호
US-8316129
(2012-11-20)
발명자
/ 주소
Kruse, David
Mohamed, Ahmed
Raman, Balan Sethu
출원인 / 주소
Microsoft Corporation
대리인 / 주소
Merchant & Gould P.C.
인용정보
피인용 횟수 :
7인용 특허 :
67
초록▼
Described are sequence numbers for client-server communication, to control a client's use of server resources. A server grants the client credits, and the client consumes a credit for sending each command to the server. Each credit corresponds to a sequence number, with the set of sequence numbers f
Described are sequence numbers for client-server communication, to control a client's use of server resources. A server grants the client credits, and the client consumes a credit for sending each command to the server. Each credit corresponds to a sequence number, with the set of sequence numbers forming a valid command window. The server enforces that for each received command, the command includes a sequence number that is within the valid command window and that the sequence number has not been used with another command. The server may also maintain a maximum window size, such that clients with credits cannot send a command with a sequence number that beyond a maximum sequence number. When incorporated into a data communication protocol, quality of service, combating denial of service, detection of message loss, division of server resources, secure message signing, and other numerous benefits result.
대표청구항▼
1. In a network computing environment having a client and server, a method comprising: establishing, by a server computing device, a session for receiving file system commands from a client;establishing, by the server computing device, a valid command window comprising at least one sequence number,
1. In a network computing environment having a client and server, a method comprising: establishing, by a server computing device, a session for receiving file system commands from a client;establishing, by the server computing device, a valid command window comprising at least one sequence number, wherein the valid command window is adjusted to include an additional unused sequence number in response to the client being granted an additional credit, wherein the additional credit enables the client to consume server resources using the file system commands;receiving, at the server computing device, a file system command that consumes at least one server resource, the file system command including an associated sequence number;determining whether the associated sequence number is within the valid command window;determining whether the associated sequence number has not been previously included in another file system command;allowing the file system command upon determining the associated sequence number is within the valid command window and has not been previously included in another file system command sent during the session; andgranting to the client a first additional credit and adjusting the valid command window to include a first additional unused sequence number. 2. The method of claim 1 further comprising, allowing the command upon determining that the associated sequence number is not beyond a maximum sequence number. 3. The method of claim 1 further comprising, in response to the received command, granting to the client a second additional credit and adjusting the valid command window to include a second additional unused sequence number. 4. The method of claim 1 wherein, allowing the file system command consumes one credit granted to the client. 5. The method of claim 1 further comprising: granting the client one or more blocking operation credits; andallowing a blocking operation to be performed by the server in response to receiving a blocking command sent from the client wherein the blocking command has not exceeded a maximum number of blocking operation credits. 6. The method of claim 5 further comprising: returning data indicating the blocking operation's progress; andreturning an identifier for the blocking operation. 7. The method of claim 6 further comprising, granting to the client an additional credit and adjusting the valid command window in response to receiving the blocking operation command. 8. The method of claim 1 further comprising, processing a received request for an additional credit from the client. 9. The method of claim 1 further comprising, revoking at least one credit previously granted to the client. 10. At least one computer-storage medium not consisting of a propagated data signal having computer executable instructions, which when executed perform steps, comprising: establishing a session for receiving file system commands from a client; establishing a valid command window comprising at least one sequence number, wherein the valid command window is adjusted to include an additional unused sequence number in response to the client being granted an additional credit, wherein the additional credit enables the client to consume server resources using the file system commands;receiving a file system command to consume at least one server resource, the file system command including an associated sequence number;determining whether the associated sequence number is within the valid command window;determining whether the associated sequence number has not been included in another file system command;allowing the file system command upon determining the associated sequence number is within the valid command window and has not been included in another file system command during the session, otherwise denying the file system command; andgranting to the client a first additional credit and adjusting the valid command window to include a first additional unused sequence number. 11. The computer-storage medium of claim 10 wherein the step of granting to the client a first additional credit is performed upon determining not to revoke the credits previously granted to the client. 12. The computer-storage medium of claim 10 wherein the step of granting the client a first additional credit is performed when the sequence number in the valid command window does not exceed a maximum window size. 13. The computer-storage medium of claim 10 comprising instructions which when executed perform the step of revoking at least one credit previously granted to the client. 14. The computer-storage medium of claim 10 having further computer executable instructions, comprising: granting to the client one or more blocking operation credits; andallowing a blocking operation to be performed by the server in response to receiving a blocking command sent from the client, wherein the blocking command has not exceeded a maximum number of blocking operation credits. 15. In a network computing environment having a client and server, a server-side system comprising: at least one processor; andat least one memory with computer executable instructions that when executed by the at least one processor provide:a server mechanism that establishes a session for receiving file system commands from a client and limits use of server resources by controlling a number of credits granted to the client, the credit enabling the client to consume one or more server resources using a file system command, the mechanism including: a valid command window, containing unique numbers, one for each credit granted to the client;an enforcement mechanism that allows the client to consume the one or more server resources for the file system command, provided the unique number associated with the file system command is within the valid command window and has not been included in another file system command during the session; andan allocation mechanism that controls credits granted to the client and the unique numbers within the valid command window, wherein the valid command window is adjusted to include an additional unique number in response to the client being granted an additional credit. 16. The system of claim 15 wherein the enforcement mechanism includes a server message block protocol driver. 17. The system of claim 15 wherein the server mechanism is configured to revoke at least one credit previously granted to the client.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (67)
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.
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.
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는 부적절한 답변을 할 수 있습니다.