Back to EveryPatent.com
United States Patent | 6,205,498 |
Habusha ,   et al. | March 20, 2001 |
A method and system for managing the transfer of message packets between first and second nodes in a message queuing system utilizes a session acknowledgment protocol to coordinate the two-way flow of packet transmission. In a session initiation phase, each node specifies a session acknowledgment timeout period and a transmission window size for transmission of message packets thereto. During the session, the first node transmits multiple message packets up to the window size set by the second node and stops to wait for a session acknowledgment from the second computer. The session acknowledgment may piggyback on a message packet sent to the first node. A window-size field in the session acknowledgment allows the receiving node to dynamically adjust the incoming data flow.
Inventors: | Habusha; Uri (Mitzpe Hoshaya, IL); Arnon; Yoel (Haifa, IL) |
Assignee: | Microsoft Corporation (Redmond, WA) |
Appl. No.: | 053415 |
Filed: | April 1, 1998 |
Current U.S. Class: | 710/29; 340/825.5; 379/229; 709/221; 709/228; 714/708; 714/749 |
Intern'l Class: | G06F 013/14 |
Field of Search: | 710/29,15 709/221,228 379/202,229 340/825.5 714/749,708 |
4499576 | Feb., 1985 | Fraser | 370/60. |
4584679 | Apr., 1986 | Livingston et al. | 714/749. |
4623886 | Nov., 1986 | Livingston | 340/825. |
4656474 | Apr., 1987 | Mollier et al. | 380/23. |
4736369 | Apr., 1988 | Barzilai et al. | 370/231. |
4769815 | Sep., 1988 | Hinch et al. | 370/236. |
5063562 | Nov., 1991 | Barzilai et al. | 370/231. |
5163131 | Nov., 1992 | Row et al. | 395/200. |
5193090 | Mar., 1993 | Filipiak et al. | 370/94. |
5247676 | Sep., 1993 | Ozur et al. | 709/328. |
5285445 | Feb., 1994 | Lehnert et al. | 370/60. |
5287103 | Feb., 1994 | Kasprzyk et al. | 340/825. |
5367523 | Nov., 1994 | Chang et al. | 370/235. |
5442637 | Aug., 1995 | Nguyen | 714/708. |
5465328 | Nov., 1995 | Dievendorff et al. | 714/15. |
5526358 | Jun., 1996 | Gregerson et al. | 370/94. |
5526489 | Jun., 1996 | Nilakantan et al. | 395/200. |
5528605 | Jun., 1996 | Ywoskus et al. | 714/749. |
5546391 | Aug., 1996 | Hochschild et al. | 370/60. |
5555415 | Sep., 1996 | Allen | 395/700. |
5557748 | Sep., 1996 | Norris | 395/200. |
5572522 | Nov., 1996 | Calamvokis et al. | 370/60. |
5572582 | Nov., 1996 | Riddle | 379/202. |
5627766 | May., 1997 | Beaven | 364/551. |
5758184 | May., 1998 | Lucovsky et al. | 710/6. |
5761507 | Jun., 1998 | Govett | 709/101. |
5764625 | Jun., 1998 | Bournas | 370/231. |
5777987 | Jul., 1998 | Adams et al. | 370/336. |
5778384 | Jul., 1998 | Provino et al. | 707/200. |
5793861 | Aug., 1998 | Haigh | 379/266. |
5812819 | Sep., 1998 | Rodwin et al. | 395/500. |
5815667 | Sep., 1998 | Chien et al. | 709/232. |
5819042 | Oct., 1998 | Hansen | 709/223. |
5828653 | Oct., 1998 | Goss | 370/230. |
5835727 | Nov., 1998 | Wong et al. | 709/238. |
5838907 | Nov., 1998 | Hansen | 709/220. |
5845081 | Dec., 1998 | Rangarajan et al. | 709/224. |
5854901 | Dec., 1998 | Cole et al. | 709/245. |
5864669 | Jan., 1999 | Osterman et al. | 395/600. |
5872968 | Feb., 1999 | Knox et al. | 713/2. |
5875301 | Feb., 1999 | Duckwall et al. | 395/828. |
5875306 | Feb., 1999 | Bereiter | 709/220. |
5878056 | Mar., 1999 | Black et al. | 371/32. |
5881051 | Mar., 1999 | Arrowood et al. | 370/248. |
5901138 | May., 1999 | Bader et al. | 370/229. |
5920697 | Jul., 1999 | Masters et al. | 709/221. |
5922049 | Jul., 1999 | Radia et al. | 709/220. |
5930479 | Jul., 1999 | Hall | 709/238. |
5956340 | Sep., 1999 | Afek et al. | 370/412. |
5959995 | Sep., 1999 | Wicki et al. | 370/400. |
Newton, Harry, Newton's Telecomm Dictionary, 8.sup.th Ed, Flatiron Publishing, 1994, pp. 333 and 870. Microsoft Message Queuing Services: A Guide to Reviewing Microsoft Message Queuing Service Release 1.0, Microsoft Corporation, Redmond, Washington, 1997. Comer, Douglas E., Internetworking With TCP/IP vol. 1: Principles, Protocols and Architecture, Chapter 6: Determining an Internet Address at Startup (RARP) and Chapter 18: Client-Server Model of Interaction, pp. 83-88, 293-309, Prentice-Hall, Englewood Cliffs, New Jersey, 1991. Benaloh, Josh et al, The Private Communication Technology (PCT) Protocol, Internet Draft, available from http://premium.microsoft.com/msdn/library/bkgrnd/html/pct/hml., Oct., 1995. Marshall, Martin, "Microsoft Updates Falcon Beta", Internetweek, Issue 653, Mar. 10, 1997. Bowen, Ted Smalley, "Asynchronous Messaging Pushes to the Fore", Infoworld, Feb. 23, 1998. Available from http://www.infoworld.com/cgi-bin/displayTC.pl?/980223sbl-async.htm. Biggs, Maggie, "Applications Released from Platform Confines: Message Queuing Exchanges Data Between Apps Regardless of Platform", Infoworld, Feb. 23, 1998. Available from http://inforworld.com/cgi-bin/displayTC.pl?/980223analysis.htm. Using MSMQ as an RPC Transport, Microsoft Corporation, 1997. Tarjan, Robert Endre, Data Structures and Network Algorithms, Chapter 3: Heaps, pp. 33-43, Society for Industrial and Applied Mathematics, Philadelphia, Pennsylvania, 1993. Microsoft Message Queue Server 1.0 Release Notes, Microsoft Corporation, Redmond Washington, 1997. Microsoft Message Queue Server: A Guide to Reviewing and Evaluation Microsoft Message Queue Server Beta 2 Release, Microsoft Corporation, Redmond, Washington, 1997. Richter, Jeffrey, Advanced Windows: The Professional Developers Guide to the Win32 API for Windows NT 4.0 and Windows 95, Chapter 11: Window Messages and Asynchronous Input, pp. 461-528, Microsoft Press, Redmond, Washington, 1997. Sinha, Alok K., Network Programming in Windows NT, Chapter 5: Windows Sockets in Windows NT, pp. 199-299, Addison-Wesley Publishing Company, Reading, Massachusetts, 1996. Gilman, Len and Schreiber, Richard, Distributed Computing with IBM MQSeries, John Wiley & Sons, New York, New York, 1997. Blakeley,Burnie; Harris, Harry, and Lewis, Rhys, Messaging & Queuing Using the MQI, McGraw-Hill Inc., New York, New York, 1995. Blakeley et al., Messaging and Queuing Using the MQI, McGraw Hill, Inc.; New York, NY, 1995. Douglas E. Comer, Interneting with TCP/IP, vol. 1: Principles, Protocols and Architecture, Second Edition, Chapter 19, 1991. Andrew S. Tanenbaum, Computer Networks, Third Edition, Prentice Hall, New Jersey; pp. 577-622, 1996. |