System and method for data communications allowing slave device to be network peers
AssigneeGemalto SA
InventorsHongQian Lu, Michael Montgomery
Life of this patent
Estimating the term…
Abstract
A system and method for peer-to-peer communication between a slave device and network resources wherein the slave device, for example, a smart card, communicates using a protocol designed to allow the smart card to communicate over a half-duplex serial communications link while appearing to applications and network nodes as being a full-fledged network node in a manner that conserves power so as to be suitable for deployment on small portable devices.
Claims12
A method of communication between a resource-constrained device and remote network nodes over a network wherein the remote network nodes communicate with the resource-constrained device using unmodified network clients and servers and wherein the resource-constrained device has a central processing unit, a random access memory, a non-volatile memory, a read-only memory, and an input and output component, the resource-constrained device connected to a host computer over a physical communications link connection, comprising:
- establishing a physical link connection between the resource-constrained device and the host computer;
- executing on the resource-constrained device a communications module implementing networking protocols and one or more link layer communication protocols, operable to communicate with an interface device, and operable to communicate with remote network nodes;
- operating the resource-constrained device according to a communications module, wherein the communication module is driven by input events and by one or more secure network applications executing on the resource-constrained device wherein the network applications call upon the communication module of the resource-constrained device to communicate with the host computer and the remote network node;
- operating an interface device connected between the resource constrained device and the host computer using a physical link that is a serial connection having half-duplex between the resource-constrained device and the interface device and full-duplex between the interface device and the host computer;
- and
- operating the interface device according to a finite state machine permitting the interface device to forward messages between the resource constrained device and the network wherein the interface device is in one of the at least one states permitting the resource constrained device to initiate and send messages, and delaying interaction with the resource-constrained device for a time period in response to the resource-constrained device indicting no intent to initiate and send messages.
A method for operating an electronic device and a host device to which the electronic device is connected to permit the electronic device to communicate over a computer network to which the host device is connected, the method comprising:
- operating the host device according to a first state machine having:
- a polling state indicating that the host device has polled the electronic device to inquire whether the electronic device has data to send;
- a checking-network state indicating that the host device is prepared to receive data from remote devices on the network;
- and
- a getting-data-from-client state indicating that the host device has received indicating from the electronic device that the electronic device has data to send;
- a putting-data-to-client state indicating that the host device has data received from the network the data being directed to the electronic device;
- the host device:
- polling the electronic device over a half-duplex serial command-response communications link and taking a transition from the checking-network state to the polling state in response to a condition triggered by the expiration of preset time-out interval;
- and
- getting a packet from the electronic device and taking a transition from the polling state to the getting-data-from-client state in response to a condition triggered by the electronic device in response to being polled responding with a client-has-data response message;
- setting the time-out interval in response to the electronic device in response to being polled respond with a client-has-no-data response message wherein the timeout interval is a parameter of the response message;
- and
- putting a packet to the electronic device in response to receiving data from the network and overriding the timeout interval to do so.
- operating the electronic device according to a second state machine having:
- a wait-for-upper-level state indicating that the electronic device communication module is waiting for upper level protocol communications;
- a wait-for-server-ready-write state indicating that the electronic device has data to transmit;
- a wait-server-ready-read state indicating that the electronic device is prepared to read data;
- the electronic device:
- in response to an upper level write command while in the wait-for-upper-level, transitioning from the wait-for-upper-level state to the wait-for-server-ready-write state;
- in response to a polling message received over the half-duplex serial command-response communications link while in the wait-for-server-ready-write state, transmitting a client-has-data message and remaining in the wait-for-server-ready-write state;
- in response to a polling message received over the half-duplex serial command-response communications link while in the wait-for-server-ready-read state, transmitting a client-has-no-data message and remaining in the wait-for-server-ready-read state.
A system having a master device and a slave device communicating over a synchronous half-duplex serial link, the link being configured to transport asynchronous logic full-duplex protocols by means comprising:
- establishing a physical link between the master device and slave device,
- configuring the master device to periodically send packets to the slave device even when the master device has no data ready to send,
- configuring the slave device to answer in minimum interval, not waiting to process commands that may be pending or immediately received, with a response packet of currently available data, even when the slave device has no data ready to send,
- the response packet containing zero or more of responses to prior host requests or requests initiated by the slave device.
Dependencies are inferred from the claim text.