A method and apparatus provides a method and apparatus for treating a
serial bus, such as an IEEE 1394 bus, as a connection-oriented network. In
one embodiment, an application programming interface (API) permits
different protocols (e.g., TCP/IP, IPX, and others) to connect to the 1394
bus and to make use of various 1394 features, such as isochronous packet
transmission, without knowledge of hardware-specific idiosyncrasies. A
call is made to set up a connection (a "virtual circuit") over the serial
bus, and, thereafter, a connection "handle" is used to communicate over
the bus using the connection. Different types of connections can be
provided, including a node-specific connection; a channel-specific
connection; and a receiving connection (e.g., for incoming data). In one
embodiment, a programming interface hides details of the connection
set-up, and includes packet fragmentation and reassembly functions.
Because multiple protocols can share common communication facilities, code
re-use is maximized.
Une méthode et un appareil fournit une méthode et un appareil pour traiter un autobus périodique, tel qu'un autobus d'IEEE 1394, comme réseau connecté. Dans une incorporation, une interface de programmation d'application (api) permet à différents protocoles (par exemple, TCP/IP, IPX, et d'autres) pour se relier à l'autobus 1394 et pour se servir de divers 1394 dispositifs, tels que la transmission isochronique de paquet, sans connaissance des idiosyncrasies matériel-spécifiques. Un appel est fait pour installer un raccordement ("un circuit virtuel") au-dessus de l'autobus périodique, et, ensuite, un raccordement "poignée" est employé pour communiquer au-dessus de l'autobus en utilisant le raccordement. Différents types de raccordements peuvent être fournis, y compris un raccordement noeud-spécifique ; un raccordement canal-spécifique ; et un raccordement de réception (par exemple, pour des données entrantes). Dans une incorporation, une interface de programmation cache des détails de l'installation de raccordement, et inclut des fonctions de fragmentation et de remontage de paquet. Puisque les protocoles multiples peuvent partager les équipements de communication communs, la réutilisation de code est maximisée.