Source: http://www.google.com/patents/US6820150?dq=6519629
Timestamp: 2013-12-06 00:49:58
Document Index: 532706862

Matched Legal Cases: ['art 4', 'art 4', 'art 1', 'art 2', 'art 3', 'art 5', 'art 6', 'art 1', 'art 2', 'art 3', 'art 5', 'art 6']

Patent US6820150 - Method and apparatus for providing quality-of-service delivery facilities ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Advanced Patent Search | Sign inAdvanced Patent SearchPatentsThe invention provides quality-of-service (QoS) delivery services over a computer bus having isochronous data transfer capabilities. A transmitting node on the bus transmits a message to an intended recipient indicating a requested bandwidth for a connection. If the intended recipient has sufficient...http://www.google.com/patents/US6820150?utm_source=gb-gplus-sharePatent US6820150 - Method and apparatus for providing quality-of-service delivery facilities over a busPublication numberUS6820150 B1Publication typeGrantApplication numberUS 09/829,880Publication dateNov 16, 2004Filing dateApr 11, 2001Priority dateApr 11, 2001Fee statusPaidAlso published asUS7093044, US20050080947, US20060190654Publication number09829880, 829880, US 6820150 B1, US 6820150B1, US-B1-6820150, US6820150 B1, US6820150B1InventorsJoseph M. Joy, Georgios Chrysanthakopoulos, Rajesh Sundaram, Arvind MurchingOriginal AssigneeMicrosoft CorporationPatent Citations (32), Non-Patent Citations (39), Referenced by (8), Classifications (16), Legal Events (3) External Links: USPTO, USPTO Assignment, EspacenetMethod and apparatus for providing quality-of-service delivery facilities over a busUS 6820150 B1Abstract The invention provides quality-of-service (QoS) delivery services over a computer bus having isochronous data transfer capabilities. A transmitting node on the bus transmits a message to an intended recipient indicating a requested bandwidth for a connection. If the intended recipient has sufficient resources, it allocates an isochronous data channel on the bus and notifies the transmitter of the allocated channel. Thereafter, the transmitter transmits the data on the allocated channel. If the recipient cannot allocate a channel, it does not respond, and the transmitter thereafter detects a time-out condition and begins transmitting using a �best efforts� scheme (i.e., non-guaranteed time delivery). In a second variation, a receiving node detects that it is receiving large quantities of data from a transmitting node. In response, the receiving node allocates an isochronous data channel on the bus and notifies the transmitter of the allocated channel. Thereafter, the transmitter transmits using the allocated isochronous channel. In a third variation, multiple receiving nodes that need to receive streaming data from a single transmitting node share a common isochronous data channel. In any of these variations, each receiver can periodically transmit a �deadman� timer message on a broadcast channel to indicate that it is still receiving on a given channel. If a transmitter detects that the deadman timer has expired, it reverts to transmitting data using a �best-efforts� scheme. A transmitter can transmit both to receivers that can handle QoS services and those that cannot explicitly support QoS services.
(1) at a transmitting node, translating a bus-generic request for a quality-of-service connection into a bus-specific request for time-guaranteed delivery services; (2) from the transmitting node, transmitting the bus-specific request to an intended receiving node on the bus; (3) at the intended receiving node, checking to determine whether sufficient resources are available to allocate an isochronous data channel on the bus and, in response to such availability, allocating the isochronous data channel; (4) notifying the transmitting node of the allocated isochronous data channel; (5) from the transmitting node, transmitting data packets to the intended receiving node using the allocated isochronous data channel; (6) periodically transmitting from the intended receiving node a �keep alive� message indicating that resources have been allocated; and (7) in the transmitting node, monitoring the �keep alive� message periodically transmitted from the intended receiving node and, in response to detecting that the �keep alive� message is no longer being transmitted, reverting to a mode wherein the data packets are transmitted to the intended receiving node using the asynchronous delivery mode. 5. The method of claim 1, further comprising the steps of:
(7) periodically transmitting from the transmitting node to the intended receiving node a �keep alive� message indicating that the transmission is continuing; (8) in the intended receiving node, monitoring the �keep alive� message periodically transmitted by the transmitting node and, in response to detecting that the �keep alive� message is no longer being periodically transmitted, deallocating the bus resources. 6. The method of claim 2, wherein steps (1) through (5) are performed in computer nodes that are coupled to an IEEE-1394 serial bus.
(1) translating a bus-generic request for a quality-of-service connection into a bus-specific request for time-guaranteed delivery services; (2) transmitting the bus-specific request to an intended receiving node on the computer bus; (3) in response to receiving a message from the intended receiving node indicating that an isochronous data channel on the computer bus has been allocated, transmitting a plurality of data packets over the allocated isochronous data channel; and (4) monitoring a �keep alive� message periodically transmitted from the intended receiving node and, in response to detecting that the �keep alive� message is no longer being transmitted, reverting to a mode wherein the data packets are transmitted to the intended receiving node using the asynchronous delivery mode. 12. The computer-readable medium of claim 8, wherein the computer instructions further comprise instructions that perform the step of periodically transmitting from the transmitting node to the intended receiving node a �keep alive� message indicating that the transmission is continuing.
(1) from a transmitting node, transmitting data packets to an intended receiving node using the asynchronous mode of data transmission; (2) in the intended receiving node, detecting that data packets are repeatedly received from the transmitting node and, in response thereto, allocating an isochronous data channel on the bus; (3) notifying the transmitting node of the allocated isochronous data channel; (4) from the transmitting node, transmitting the data packets to the intended receiving node using the allocated isochronous data channel; (5) periodically transmitting from the intended receiving node a �keep alive� message indicating that resources have been allocated; and (6) in the transmitting node, monitoring the �keep alive� message periodically transmitted by the intended receiving node and, in response to detecting that the �keep alive� message is no longer being transmitted, reverting to a mode wherein the data packets are transmitted to the intended receiving node using the asynchronous delivery mode. 14. The method of claim 13, further comprising the steps of:
(7) periodically transmitting from the transmitting node to the intended receiving node a �keep alive� message indicating that the transmission is continuing; and (8) in the intended receiving node, monitoring the �keep alive� message periodically transmitted by the transmitting node and, in response to detecting that the �keep alive� message is no longer being periodically transmitted, deallocating the bus resources. 15. The method of claim 13, wherein step (2) comprises the step of detecting that a high traffic condition exists for data packets having a common IP address.
(1) detecting that data packets are repeatedly received from a transmitting node using the asynchronous data delivery facilities of the computer bus and, in response thereto, allocating an isochronous data channel on the bus; (2) notifying the transmitting node of the allocated isochronous data channel; (3) receiving data packets from the transmitting node over the allocated isochronous data channel; and (4) monitoring a �keep alive� message periodically transmitted from the intended receiving node and, in response to detecting that the �keep alive� message is no longer being periodically transmitted, reverting to a mode wherein the data packets are transmitted to the intended receiving node using the asynchronous delivery mode. 17. The computer-readable medium of claim 16, wherein the computer instructions comprise instructions that implement step (2) by detecting that a high traffic condition exists for data packets having a common IP address.
(5) monitoring a �keep alive� message periodically transmitted by the transmitting node and, in response to detecting that the �keep alive� message is no longer being periodically transmitted, deallocating the bus resources.
DETAILED DESCRIPTION OF THE INVENTION FIG. 1 is a schematic diagram of a conventional general-purpose digital-computing environment that can be used to implement various aspects of the present invention. A computer includes a processing unit 110, a system memory 120 and a system bus 130 that couples various system components including the system memory to the processing unit 110. The system bus 130 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory 120 includes a read only memory (ROM) 140 and a random access memory (RAM) 150.
It will be appreciated that the network connections shown are exemplary and other means of At establishing a communications link between the computers can be used. The existence of any of various well-known protocols, such as TCP/IP, �ETHERNET�, FTP, HTTP and the like, is presumed, and the system can be operated in a client-server configuration to permit a user to retrieve web pages from a web-based server. Procedures of the present invention to be described below can operate within the environment of the computer 100 shown in FIG. 1. Although the invention is generally applicable to a computer operating in accordance with the IEEE 1394 standard, it is not intended to be so limited.
As is conventional, each node includes one or more application programs (201, 202, 213, and 214, respectively) that operate using TCP/IP protocols 204 and 211. Each application program may comprise, for example, a program that transmits audio and/or video data between nodes. As one example, one application program may comprise a videoconferencing application that permits two persons to see and hear each other by transmitting audio and video packets over the bus. In this case, it may be important or desirable to provide time-guaranteed delivery of data packets to prevent �jerky� audio and video displays at each node. Certain videoconferencing applications may be �QoS-enabled� in that they are aware of bandwidth allocation procedures and can issue commands to so allocate bandwidth in the network. Other applications may not have such features. In one embodiment, the present invention can also accommodate the latter type of applications without requiring software modifications to the applications.
In step 303, assuming that a response was received from the intended receiver (i.e., no time-out), then in step 305 the transmitter begins transmitting data using the allocated resources (e.g., using the allocated channel and bandwidth parameters). In step 306, the transmitter periodically transmits a �keep alive� message to the receiver in order to signal that the allocated channel is still in use. If in step 307 the transmitter determines that a similar �keep alive� message has not been received from the receiver within a certain time-out period, then in step 308 communication reverts to a �best efforts� transmission mode as described above. In one variation, the transmitter can attempt to later reestablish guaranteed delivery communication with the intended receiver after a time-out period. Assuming that the receiver and transmitter continue to transmit �keep alive� messages for the resources, the transmitter transmits data using the allocated resources.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5774695Mar 22, 1996Jun 30, 1998Ericsson Inc.Protocol interface gateway and method of connecting an emulator to a networkUS5845152Mar 19, 1997Dec 1, 1998Apple Computer, Inc.Method for transmission of isochronous data with two cycle look aheadUS5911059Dec 18, 1996Jun 8, 1999Applied Microsystems, Inc.Method and apparatus for testing softwareUS5938735Oct 21, 1997Aug 17, 1999Ricoh Company, Ltd.System for establishing optimized ISDN communication by identifying common communication attributes of destination and source terminals prior to establishing communication link therebetweenUS5953511Apr 8, 1997Sep 14, 1999National Instruments CorporationPCI bus to IEEE 1394 bus translatorUS5978902Dec 17, 1997Nov 2, 1999Advanced Micro Devices, Inc.Debug interface including operating system access of a serial/parallel debug portUS5991520Feb 2, 1996Nov 23, 1999Sony CorporationApplication programming interface for managing and automating data transfer operations between applications over a bus structureUS6088364Jul 14, 1997Jul 11, 2000Yamaha CorporationInterface apparatus connecting between multimedia network and music networkUS6094530Apr 29, 1998Jul 25, 2000Intel CorporationRemotely monitoring execution of a programUS6134662Jun 26, 1998Oct 17, 2000Vlsi Technology, Inc.Physical layer security manager for memory-mapped serial communications interfaceUS6219697May 2, 1997Apr 17, 20013Com CorporationMethod and apparatus for operating the internet protocol over a high-speed serial busUS6266729Mar 18, 1999Jul 24, 2001Microsoft CorporationComputer for encapsulating legacy data transport protocol for IEEE 1394 serial busUS6272581Apr 27, 2000Aug 7, 2001Microsoft CorporationSystem and method for encapsulating legacy data transport protocols for IEEE 1394 serial busUS6279123Sep 15, 1998Aug 21, 2001Lucent Technologies, Inc.System for viewing and monitoring embedded processor operationUS6347337Aug 20, 1999Feb 12, 2002Intel CorporationCredit based flow control scheme over virtual interface architecture for system area networksUS6353898May 18, 2000Mar 5, 2002Novell, Inc.Resource management in a clustered computer systemUS6374399Apr 21, 1999Apr 16, 2002Advanced Micro Devices, Inc.Apparatus and method for providing list and read list capability for a host computer systemUS6378000Apr 29, 1999Apr 23, 2002Mitsubish Electric Research Laboratories, IncAddress mapping in home entertainment networkUS6430635 *Sep 27, 1999Aug 6, 2002Lg Electronics IncProtocol interfacing methodUS6434117 *Mar 5, 1999Aug 13, 2002Nec CorporationIEEE-1394 serial bus network capable of multicast communicationUS6496509Aug 3, 1998Dec 17, 2002Advanced Micro Devices, Inc.System for transmitting data packets between computers via an IEEE-1394 network mediumUS6496862Apr 29, 1999Dec 17, 2002Mitsubishi Electric Research Laboratories, Inc.Remote monitoring and control of devices connected to an IEEE 1394 bus via a gateway deviceUS6522654May 15, 1998Feb 18, 2003Harris-Exigent, Inc.Method for hosting the internet protocol suite on the IEEE-1394 high speed serial busUS6538758 *May 11, 1999Mar 25, 2003Canon Kabushiki KaishaImage output apparatus and method thereof, and image output systemUS6600756 *Jun 14, 1999Jul 29, 2003Hewlett-Packard Development Company, Lp.Method of improving the performance of a bus which is asynchronous-traffic intensiveUS6658512 *Sep 28, 2000Dec 2, 2003Intel CorporationAdmission control method for data communications over peripheral busesUS6701371Aug 30, 1999Mar 2, 2004Samsung Electronics Co., Ltd.Data transfer method for matching upper protocal layer to high speed serial busUS6725311Sep 14, 2000Apr 20, 2004Microsoft CorporationMethod and apparatus for providing a connection-oriented network over a serial busUS20020133632 *Mar 5, 2002Sep 19, 2002Salloum Salazar Antonio EliasSystem of apparatuses that communicate via a bus structureUS20020141418 *Mar 19, 1999Oct 3, 2002Avner Ben-DorTunneling between a bus and a networkUS20030078063 *Jan 26, 2001Apr 24, 2003Yvon LegallaisMethod for isochronous resource management in a network based on hiperlan 2 techonologyUS20030217220 *Jun 20, 2003Nov 20, 2003Samsung Electronics Co., Ltd.Method for transferring variable isochronous data and apparatus therefor* Cited by examinerNon-Patent CitationsReference1"P1394.1 Draft Standard for High Performance Serial Bus Bridges", The Institute of Electrical and Electronics Engineers, Inc., Feb. 7, 1999, pp. 9-34.2Arun Ayyagari et al., "IEEE 802.11 Quality of Service", white paper, Mar., 2000, 10 pages.3Cisco Systems Inc., "Quality of Service (Qos) Networking", http://www.cisco.com/univercd/cc/td/doc/cisintwk.ito doc/qos.htm, Jun. 1999.4Congruent Software, Inc., P. Johansson, "RFC 2734: Ipv4 over IEEE 1394", Dec. 1999.5D. Plummer, "RFC 826: An Ethernet Address Resolution Protocol", http://cie.motor.ru/RFC/Orig/rfc826.txt, Nov. 1982, pp. 1-8.6D. Steinberg, et al., "An Empirical Analysis of the IEEE-1394 Serial bus Protocol", IEEE Jan. 2000, pp. 58-64.7G. Hoffman et al., IEEE 1394: A Ubiquitous Bus, COMPCON '95, Mar. 5, 1995, p. 1-9, www.skipstone.com/comcon.html.8IEEE std 1394-1395, IEEE Standard for a High Performance Serial Bus, 1996, pp. 1-45.9IETF, T. Saito, et al., "'IP over iso1394' and 'AV over iso1394' controlled by an extension of MCAP", http://search.ietf.org/internet-drafts/draft-ietf-ip1394-ip-over-iso1394-00.txt, pp. 1-11, Sep. 1999.10IETF, T. Saito, et al., "�IP over iso1394� and �AV over iso1394� controlled by an extension of MCAP", http://search.ietf.org/internet-drafts/draft-ietf-ip1394-ip-over-iso1394-00.txt, pp. 1-11, Sep. 1999.11International Electrochemical Commission, "Consumer audio/video equipment-Digital interface-Part 4: MPEG2-TS data transmission", IEC First edition, Feb. 1998, Reference No. 61883-4, pp. 5-23.12International Electrochemical Commission, "Consumer audio/video equipment�Digital interface�Part 4: MPEG2-TS data transmission", IEC First edition, Feb. 1998, Reference No. 61883-4, pp. 5-23.13International Electrotechnical Commission, "Consumer audio/video equipment-Digital interface-Part 1: General", IEC First edition, Feb. 1998, Reference No. 61883-1, pp. 7-78.14International Electrotechnical Commission, "Consumer audio/video equipment-Digital interface-Part 2: SD-DVCR data transmission", IEC First edition, Feb. 1998, Reference No. 61883-2, pp. 5-15.15International Electrotechnical Commission, "Consumer audio/video equipment-Digital interface-Part 3: HD-DVCR data transmission", IEC First edition, Feb. 1998, Reference No. 61883-3, pp. 5-13.16International Electrotechnical Commission, "Consumer audio/video equipment-Digital interface-Part 5: SDL-DVCR data transmision", IEC First edition, Feb. 1998, Reference No. 61883-5, pp. 5-17.17International Electrotechnical Commission, "Consumer Audio/Video Equipment-Digital Interface-Part 6: Audio and music data transmission protocol", IEC Reference No. 61883-6/WD2, Nov. 1999, pp. 1-23.18International Electrotechnical Commission, "Consumer audio/video equipment�Digital interface�Part 1: General", IEC First edition, Feb. 1998, Reference No. 61883-1, pp. 7-78.19International Electrotechnical Commission, "Consumer audio/video equipment�Digital interface�Part 2: SD-DVCR data transmission", IEC First edition, Feb. 1998, Reference No. 61883-2, pp. 5-15.20International Electrotechnical Commission, "Consumer audio/video equipment�Digital interface�Part 3: HD-DVCR data transmission", IEC First edition, Feb. 1998, Reference No. 61883-3, pp. 5-13.21International Electrotechnical Commission, "Consumer audio/video equipment�Digital interface�Part 5: SDL-DVCR data transmision", IEC First edition, Feb. 1998, Reference No. 61883-5, pp. 5-17.22International Electrotechnical Commission, "Consumer Audio/Video Equipment�Digital Interface�Part 6: Audio and music data transmission protocol", IEC Reference No. 61883-6/WD2, Nov. 1999, pp. 1-23.23J. Postel, et al., "RFC 1042: A Standard for the Transmission of IP Datagrams over IEE 802 Networks", http://IEC,motor.ru/RFC/Orig/rfc1042.txt, Feb. 1988, pp. 1-14.24Microsoft Corporation, "A Short Overview of QoS Mechanisms and Their Interoperation,", 1999, pp. 1-7.25Microsoft Corporation, "NdisCICloseCall", http://www.microsoft.com/hwdev/ddk/DDKdocs/Win2K103ndisx 7rsi.htm, Apr. 1999.26Microsoft Corporation, "NdisSendPackets", http://www.Microsoft.com/ddk/DDKdocs/Win2K/103ndisx 88s2.htm, Apr. 1999.27Microsoft Corporation, "Quality of Service Technical White Paper", 1999.28Microsoft Corporation, "SBP-2 Support and Windows 2000", http://agent.microsoft.com/hwdev/print/sbp2_w2000.htm, Mar. 25, 1999.29Microsoft Corporation, "Windows 2000 Driver Development Kit Documentation", http://www.microsoft.com/ddk/ddkdocs/win2K/vdd 24px.htm, et al., Apr. 1999.30Microsoft Corporation, "Windows 2000 Driver Development Kit Documentation", http://www.microsoft.com/hwdev/ddk/DDKdocs/Win2k/102gen 9eg7.htm, et al., Apr. 1999.31Microsoft Corporation, "Windows 2000 Driver Development Kit Documentation", www.microsoft.com/hwdev/ddk/DDKdocs/Win2K/102gen 9ffr.htm, et al., Apr. 1999.32Microsoft Corporation, "Windows 2000 Driver Development Kit Documentation", www.microsoft.com/hwdev/ddk/DDKdocs/Win2k/202mini_60yv.htm, Apr. 1999.33MindShare, Inc., D. Anderson, "Fire Wire System Architecture IEEE 1394a Second Edition PC System Architecture Series", Dec. 1998, pp. 13-34.34The Promoters of the 1394 Open HCI, "1394 Open Host Controller Interface Specification", Sep. 29, 1997, pp. 1-168.35Unibrain S.A., "Unibrain FireAPI(TM) Documentation 1394 Class Driver, Kernel Mode Interface", Jul. 1999, pp. 1-193.36Unibrain S.A., "Unibrain FireAPI(TM) Documentation, 1394 Class Driver, User Mode Interface", Apr. 4, 2000, pp. 1-281.37Unibrain S.A., "Unibrain FireAPI� Documentation 1394 Class Driver, Kernel Mode Interface", Jul. 1999, pp. 1-193.38Unibrain S.A., "Unibrain FireAPI� Documentation, 1394 Class Driver, User Mode Interface", Apr. 4, 2000, pp. 1-281.39Unibrain, S.A., "The IEEE-1394 Development Toolkit for Windows NT 4.0/98/98SE", http://www.unibrain.com/products/ieee-1394fireapi.htm, Apr. 14,. 2000.Referenced byCiting PatentFiling datePublication dateApplicantTitleUS6970481 *Apr 17, 2001Nov 29, 2005Microsoft CorporationMethods and systems for distributing multimedia data over heterogeneous networksUS7107372 *Aug 21, 2001Sep 12, 2006Koninklijke Philips ElectronicsCommunication system and deviceUS7388887 *Aug 30, 2005Jun 17, 2008Microsoft CorporationMethods and systems for distributing multimedia data over heterogeneous networksUS7551606Jan 28, 2005Jun 23, 2009Sony CorporationIsochronous transmission for IP-oriented networkUS7990898 *Oct 27, 2005Aug 2, 2011Honeywell International Inc.IEEE 1394 network for deterministic and/or fault-tolerant communicationUS8077603Oct 27, 2005Dec 13, 2011Honeywell International Inc.IEEE 1394 gateway for fault-tolerant communicationUS8483108 *Jul 24, 2007Jul 9, 2013Apple Inc.Apparatus and methods for de-emphasis training on a point-to-point connectionUS20110271027 *Apr 30, 2010Nov 3, 2011Wee Liang ZRemote access of peripheral device connected to serial bus* Cited by examinerClassifications U.S. Classification710/110, 710/117, 370/395.43, 710/107International ClassificationH04L12/56, G06F13/00, H04L12/64, H04L12/40Cooperative ClassificationH04L12/40058, H04L12/40065, H04L47/13, H04L49/205European ClassificationH04L49/20C, H04L47/13, H04L12/40F1, H04L12/40F2Legal EventsDateCodeEventDescriptionApr 25, 2012FPAYFee paymentYear of fee payment: 8May 2, 2008FPAYFee paymentYear of fee payment: 4Apr 11, 2001ASAssignmentOwner name: MICROSOFT CORPORATION, WASHINGTONFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JOY, JOSEPH M.;CHRYSANTHAKOPOULOS, GEORGIOS;SUNDARAM, RAJESH;AND OTHERS;REEL/FRAME:011739/0515;SIGNING DATES FROM 20010403 TO 20010405Owner name: MICROSOFT CORPORATION ONE MICROSOFT WAYREDMOND, WAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JOY, JOSEPH M. /AR;REEL/FRAME:011739/0515;SIGNING DATES FROM 20010403 TO 20010405RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google