Data communication coordination with sequence numbers
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/173
H04L-029/06
H04L-029/08
G06F-017/30
H04L-012/801
출원번호
US-0473488
(2014-08-29)
등록번호
US-9071661
(2015-06-30)
발명자
/ 주소
Kruse, David
Mohamed, Ahmed
Raman, Balan Sethu
출원인 / 주소
Microsoft Technology Licensing, LLC
대리인 / 주소
Holmes, Danielle Johnston
인용정보
피인용 횟수 :
1인용 특허 :
96
초록▼
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. A method comprising: establishing, by a server, a valid command window comprising at least one sequence number;granting the client a maximum number of one or more blocking operation credits;receiving, at the server, a file system command that consumes at least one server resource, the file system
1. A method comprising: establishing, by a server, a valid command window comprising at least one sequence number;granting the client a maximum number of one or more blocking operation credits;receiving, at the server, a file system command that consumes at least one server resource, the file system command including an associated first sequence number and an operation context value indicating that the file system command is a blocking operation;determining whether the associated first sequence number is within the valid command window and whether the client has exceeded the maximum number of one or more blocking operation credits;processing the file system command when it is determined that the associated sequence number is within the valid command window and the client has not exceeded the maximum number of one or more blocking operation credits; andadjusting the valid command window to include an additional unused sequence number. 2. The method of claim 1, further comprising: returning data indicating the blocking operation's progress; andreturning an identifier for the blocking operation. 3. The method of claim 2, wherein adjusting comprises adjusting the valid command window to include the additional unused sequence number before the blocking operation is completed by the server. 4. The method of claim 1, wherein the blocking operation comprises a long-running operation. 5. The method of claim 1, further comprising rejecting the file system command if the client has insufficient blocking operation credits. 6. The method of claim 1, further comprising decrementing the blocking operation credits granted to the client upon processing the file system command. 7. The method of claim 1, further comprising shrinking the valid command window upon determining that the client currently has too many blocking operations in progress. 8. The method of claim 1, further comprising: receiving a second file system command with a second associated sequence number;processing the second file system command;further adjusting the valid command window only when such further adjusting will not cause the valid command window to exceed a maximum size. 9. A computer readable memory, comprising instructions that, when executed by at least one processor, cause the at least one processor to perform a method, the method comprising: establishing, by a server, a valid command window comprising at least one sequence number;granting the client a maximum number of one or more blocking operation credits;receiving, at the server, a file system command that consumes at least one server resource, the file system command including an associated first sequence number and an operation context value indicating that the file system command is a blocking operation;determining whether the associated first sequence number is within the valid command window and whether the client has exceeded the maximum number of one or more blocking operation credits;processing the file system command when it is determined that the associated sequence number is within the valid command window and the client has not exceeded the maximum number of one or more blocking operation credits; andadjusting the valid command window to include an additional unused sequence number. 10. The computer readable memory of claim 9, further comprising; returning data indicating the blocking operation's progress; andreturning an identifier for the blocking operation. 11. The computer readable memory of claim 10, wherein adjusting comprises adjusting the valid command window to include the additional unused sequence number before the blocking operation is completed by the server. 12. The computer readable memory of claim 9, wherein the blocking operation comprises a long-running operation. 13. The computer readable memory of claim 9, the method further comprising rejecting the file system command if the client has insufficient blocking operation credits. 14. The computer readable memory of claim 9, the method further comprising decrementing the blocking operation credits granted to the client upon processing the file system command. 15. The computer readable memory of claim 9, the method further comprising shrinking the valid command window upon determining that the client currently has too many blocking operations in progress. 16. The computer readable memory of claim 9, the method further comprising: receiving a second file system command with a second associated sequence number;processing the second file system command;further adjusting the valid command window only when such further adjusting will not cause the valid command window to exceed a maximum size. 17. A system comprising: at least one processor;a computer readable memory, operatively connected to the at least one processor and containing instructions that, when executed by the at least one processor, cause the at least one processor to perform a method, the method comprising: establishing, by a server, a valid command window comprising at least one sequence number;granting the client a maximum number of one or more blocking operation credits;receiving, at the server, a file system command that consumes at least one server resource, the file system command including an associated first sequence number and an operation context value indicating that the file system command is a blocking operation;determining whether the associated first sequence number is within the valid command window and whether the client has exceeded the maximum number of one or more blocking operation credits;processing the file system command when it is determined that the associated sequence number is within the valid command window and the client has not exceeded the maximum number of one or more blocking operation credits; andadjusting the valid command window to include an additional unused sequence number. 18. The system of claim 17, the method further comprising: returning data indicating the blocking operation's progress; andreturning an identifier for the blocking operation. 19. The system of claim 18, wherein adjusting comprises adjusting the valid command window to include the additional unused sequence number before the blocking operation is completed by the server. 20. The system of claim 17, the method further comprising: receiving a second file system command with a second associated sequence number;processing the second file system command;further adjusting the valid command window only when such further adjusting will not cause the valid command window to exceed a maximum size.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (96)
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.
Geen, David William; Ravishankar, Geetha; Joshi, Satish; Denbar, Melissa L.; Willaford, IV, William Bateman; Zhang, Zhiwei, Apparatus and method for providing server state and attribute management for multiple-threaded voice enabled web applications.
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.
Kruse, David; George, Mathew; Mohamed, Ahmed; Madhavarapu, Pradeep Jnana; Subbarayan, Sundar, Data communication protocol including negotiation and command compounding.
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.
Basani,Vijay R.; Mangipudi,Krishna; Murach,Lynne M.; Karge,Leroy R.; Revsin,Vitaly S.; Bestavros,Azer; Crovella,Mark E.; LaRosa,Domenic J., Method and apparatus for election of group leaders in a distributed network.
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.
He, Haixiang; Fedyk, Donald; Dondeti, Lakshminath, Scalable, distributed method and apparatus for transforming packets to enable secure communication between two stations.
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는 부적절한 답변을 할 수 있습니다.