IP Library Granted Patent US 7,461,177
Granted Patent B2
US 7,461,177 · App. 10/521,084 · Granted Dec 2, 2008

Device functionalities negotiation, fallback, backward-compatibility, and reduced-capabilities simulation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,461,177
App. No.
10/521,084
Granted
Dec 2, 2008
Kind
B2
Abstract

The invention concerns a method of configuring a system. The system comprises a main device and an auxiliary device. The main device and the auxiliary device are arranged to co-operate with each other. The main device is arranged to handle one or more functionalities. The auxiliary device is arranged to effect one or more functionalities. The method is characterized in that the method comprises an adaptation step, in which the auxiliary device is made to hide from the main device at least those of its functionalities that the main device cannot handle.

Claims (67)

1. A method of configuring a system comprising:

a main device and an auxiliary device arranged to co-operate with each other, the main device being arranged to handle one or more functionalities, the auxiliary device being arranged to effect one or more functionalities;

wherein the method comprises an adaptation step, in which the auxiliary device performs a first enumeration of its functionalities to the main device;

wherein the method further comprises an enumeration step in which the auxiliary device performs a second enumeration of its functionalities to the main device;

wherein the main device enumerates to the auxiliary device the functionalities of the auxiliary device for which the main device is arranged to handle after the first enumeration and prior to the second enumeration; and

wherein the second enumeration hides from the main device at least those of its functionalities for which the main device is not arranged to handle.

2. The method according to claim 1 , wherein the adaptation step comprises the following sub-steps:

a notification step, in which the auxiliary device notifies the main device of a set of data corresponding to the first enumeration of the functionalities that the auxiliary device can effect;

an identification step, in which the set of data is used to identify the functionalities that the auxiliary device can effect but that the main device cannot handle; and

a configuration step, in which the auxiliary device is configured to hide for the second enumeration from the main device at least those of its functionalities that the main device cannot handle.

3. The method according to claim 2 , wherein the adaptation step is followed by an enumeration step, in which the auxiliary device presents itself to the main device without the functionalities identified in the identification step.

4. The method according to claim 3 , wherein a simulation step is carried out between the adaptation step and the enumeration step, in which the disconnecting and the reconnecting of the auxiliary device is simulated.

5. The method according to claim 1 , wherein the adaptation step is carried out automatically when connecting the auxiliary device to the main device.

6. The method according to claim 1 , wherein the main device is a USB host and the auxiliary device is a USB device.

7. The method according to claim 1 , wherein the auxiliary device is a smartcard.

8. The method according to claim 1 , wherein the functionalities are services available on the auxiliary device.

9. The method according to claim 8 , wherein at least one of the services is required to run an application on the main device.

10. A system comprising:

a main device and an auxiliary device arranged to co-operate with each other, the main device being arranged to handle one or more functionalities, the auxiliary device being arranged to effect one or more functionalities;

wherein the auxiliary device performs a first enumeration of its functionalities and a second enumeration of its functionalities to the main device;

wherein the main device comprises an enumerating means for enumerating to the auxiliary device the functionalities of the auxiliary device for which the main device is arranged to handle after the first enumeration and prior to the second enumeration; and

wherein the second enumeration hides those of its functionalities for which the main device is not arranged to handle.

11. The system according to claim 10 , wherein the functionalities are services available on the auxiliary device.

12. The system according to claim 11 , wherein at least one of the services is required to run an application on the main device.

13. An auxiliary device comprising:

a computer readable storage medium, comprising instructions, that when executed cause:

a plurality of functionalities to cooperate with a main device, wherein the main device comprises a computer readable storage medium, comprising instructions, that when executed cause: arranging the main device to handle one or more functionalities,

the auxiliary device to effect at least one of the plurality of functionalities,

the auxiliary device to perform a first enumeration of at least one of the plurality of functionalities and a second enumeration of at least one of the plurality of functionalities to the main device;

wherein the second enumeration is performed after the first enumeration and after the main device has enumerated to said auxiliary device the functionalities of the auxiliary device for which the main device is arranged to handle or for which the main device is not arranged to handle; and

wherein the second enumeration hides of its functionalities for which the main device is not arranged to handle.

14. The auxiliary device according to claim 13 , wherein each of the plurality of functionalities corresponds to a service available on the auxiliary device.

15. The auxiliary device according to claim 14 , wherein at least one of the plurality of functionalities is required to run an application on the main device.

16. A computer readable storage medium, comprising instructions, that when executed cause the performance a method, the method comprising:

a main device and an auxiliary device arranged to co-operate with each other, the main device being arranged to handle one or more functionalities, the auxiliary device being arranged to effect one or more functionalities;

wherein the method comprises an adaptation step, in which the auxiliary device performs a first enumeration of its functionalities;

wherein the method further comprises an enumeration step in which the auxiliary device performs a second enumeration of its functionalities to the main device;

wherein the main device enumerates to the auxiliary device the functionalities of the auxiliary device for which the main device is arranged to handle after the first enumeration and prior to the second enumeration; and

wherein the second enumeration hides those of its functionalities for which the main device is not arranged to handle.

17. The computer readable medium according to claim 16 , wherein the functionalities are services available on the auxiliary device.

18. The computer readable medium according to claim 17 , wherein at least one of the services is required to run an application on the main device.

19. A method of configuring a system comprising:

a main device and an auxiliary device arranged to co-operate with each other, the main device being arranged to handle one or more functionalities, the auxiliary device being arranged to effect one or more functionalities;

wherein the method comprises an adaptation step, in which the auxiliary device performs a first enumeration of its functionalities to the main device;

wherein the method further comprises an enumeration step in which the auxiliary device performs a second enumeration of its functionalities to the main device; and

wherein the main device enumerates to the auxiliary device the functionalities of the auxiliary device for which the main device is not arranged to handle after the first enumeration and prior to the second enumeration; and

wherein the second enumeration hides from the main device at least those of its functionalities for which the main device is not arranged to handle.

20. The method according to claim 19 , wherein the adaptation step comprises the following sub-steps:

a notification step, in which the auxiliary device notifies the main device of a set of data corresponding to the first enumeration of the functionalities that the auxiliary device can effect;

an identification step, in which the set of data is used to identify the functionalities that the auxiliary device can effect but that the main device cannot handle; and

a configuration step, in which the auxiliary device is configured to hide for the second enumeration from the main device at least those of its functionalities that the main device cannot handle.

21. The method according to claim 20 , wherein the adaptation step is followed by the enumeration step, in which the auxiliary device presents itself to the main device without the functionalities identified in the identification step.

22. The method according to claim 21 , wherein a simulation step is carried out between the adaptation step and the enumeration step, in which the disconnecting and the reconnecting of the auxiliary device is simulated.

23. The method according to claim 19 , wherein the adaptation step is carried out automatically when the connecting the auxiliary device to the main device.

24. The method according to claim 19 , wherein the main device is a USB host and the auxiliary device is a USB device.

25. The method according to claim 19 , wherein the auxiliary device is a smartcard.

26. A system comprising:

a main device and an auxiliary device arranged to co-operate with each other, the main device being arranged to handle one or more functionalities, the auxiliary device being arranged to effect one or more functionalities;

wherein the auxiliary device performs a first enumeration of its functionalities and a second enumeration of its functionalities to the main device;

wherein the main device comprises an enumerating means for enumerating to the auxiliary device the functionalities of the auxiliary device for which the main device is not arranged to handle after the first enumeration and prior to the second enumeration; and

wherein the second enumeration hides those of its functionalities for which the main device is not arranged to handle.

27. A computer readable storage medium, comprising instructions, that when executed cause the performance of a method, the method comprising:

a main device and an auxiliary device arranged to co-operate with each other, the main device being arranged to handle one or more functionalities, the auxiliary device being arranged to effect one or more functionalities;

wherein the method comprises an adaptation step, in which the auxiliary device performs a first enumeration of its functionalities;

wherein the method further comprises an enumeration step in which the auxiliary device performs a second enumeration of its functionalities to the main device; and

wherein the main device enumerates to the auxiliary device the functionalities of the auxiliary device for which the main device is not arranged to handle after the first enumeration and prior to the second enumeration and;

wherein the second numeration hides those of its functionalities for which the main device is not arranged to handle.

Assignments (2)
CHANGE OF NAME Recorded Aug 31, 2010
From: AXALTO SA
To: GEMALTO SA
Reel/Frame 024906/0851 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2005
From: DRABCZUK, NICOLAS
To: AXALTO SA
Reel/Frame 016642/0229 →