Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

Disclosed is a method for one computing device (the “provider”) to provide peripheral services to another device (the “host”). A user directly runs the host. The host accesses the provider as if the provider were a set of peripheral devices attached to the host. In this way, the host and provider become, in effect, one device with the combined capabilities of both devices. The provider switches between two modes: In standalone mode, the provider acts as an individual device; upon switching to auxiliary mode, the provider provides peripheral services to the host but can still run applications and present an input/output interface to its own user. When the peripheral device provided to the host is a display screen, the host can map the provided screen into the host's own video memory, thus hiding implementation details from applications that use the screens. One device can simultaneously act as provider and host.

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US5682486Mar 14, 1995Oct 28, 1997International Business Machines CorporationVideo display and control of multiple graphical interfaces
US5923307Jan 27, 1997Jul 13, 1999Microsoft CorporationLogical monitor configuration in a multiple monitor environment
US6018340Jan 27, 1997Jan 25, 2000Microsoft CorporationRobust display management in a multiple monitor environment
US6104359Jan 24, 1997Aug 15, 2000Microsoft CorporationAllocating display information
US6141705Jun 12, 1998Oct 31, 2000Microsoft CorporationSystem for querying a peripheral device to determine its processing capabilities and then offloading specific processing tasks from a host to the peripheral device when needed
US6161104May 11, 1999Dec 12, 2000IBM CorporationMethods and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
US6295051Jun 2, 1999Sep 25, 2001International Business Machines CorporationIntelligent boundless computer mouse system
US6538880Nov 8, 2000Mar 25, 2003International Business Machines CorporationComplementary functional PDA system and apparatus
US6721787Feb 10, 2000Apr 13, 20043Com CorporationSystem and method for wireless hot-synchronization of a personal digital assistant
US6798647Jul 16, 2001Sep 28, 2004Hewlett-Packard Development Company, L.P.Portable computer with integrated PDA I/O docking cradle
US20020103008Jan 29, 2001Cordless communication between PDA and host computer using cradle
US20030229731Jun 10, 2002Siemens Information and Communication Networks, Inc.Methods and apparatus for shifting focus between multiple devices
US20040019724Jul 24, 2002Computer system with docking port for a handheld computing device

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US7379975Apr 16, 2004May 27, 2008Nokia CorporationElectric device, computer program, system and method of setting up user applications

Claims

1. A method for a peripheral device having at least one service to provide the at least one service to a host computing device, at least one characteristic corresponding to the at least one service and the host computing device being distinct from the provider computing device, the method comprising:

running the peripheral device in a standalone mode, wherein the peripheral device sends information regarding the at least one characteristic of the at least one service to the host computing device;

receiving a request from the host computing device at the peripheral device responsive to sending the information regarding the at least one characteristic, the request being to provide the at least one service and to provide the peripheral device as an auxiliary peripheral device to the host computing device;

switching to an auxiliary mode; and

while running in the auxiliary mode, receiving commands from the host computing device at the peripheral device and operating the peripheral device in accordance with the received commands to provide the at least one service.

2. The method of claim 1 wherein a service comprises an output function and wherein operating the peripheral device comprises presenting output information received from the host computing device.

3. The method of claim 2 wherein the output information is selected from the group consisting of: video, audio, and encoded data.

4. The method of claim 1 wherein a service comprises an input function and wherein operating the peripheral device comprises receiving input information, the method further comprising:

sending received input information to the host computing device.

5. The method of claim 4 wherein the input information is selected from the group consisting of: video, audio, encoded data, text, key selection, location selection, and a sensor measurement.

6. The method of claim 1 wherein a service comprises a computational function and wherein operating the peripheral device comprises presenting a computational task to the peripheral device and receiving results of a computation from the peripheral device.

7. The method of claim 1 wherein running the peripheral device in a standalone mode comprises providing a command interface to a user of the peripheral device.

8. The method of claim 7 wherein running the peripheral device in a standalone mode further comprises operating the peripheral device in accordance with commands received from a user.

9. The method of claim 7 wherein running in the auxiliary mode comprises providing a command interface to a user.

10. The method of claim 9 wherein running in the auxiliary mode further comprises operating the peripheral device, at least in part, in accordance with commands received from a user.

11. The method of claim 7 wherein receiving a request comprises receiving a command from a user.

12. The method of claim 1 wherein receiving a request comprises receiving a request from the host computing device.

13. The method of claim 12 wherein receiving a request is triggered by establishing communications with the host computing device.

14. The method of claim 13 wherein establishing communications with the host computing device comprises placing the peripheral device in a receiver connected to the host computing device.

15. The method of claim 1 wherein receiving commands from the host computing device comprises running a Windows Terminal Services session with the host computing device.

16. The method of claim 1 wherein operating the peripheral device comprises translating commands received from the host computing device into a format acceptable to the peripheral device.

17. The method of claim 1 further comprising:

indicating a readiness to provide the peripheral device in response to the request.

18. The method of claim 1 further comprising:

upon receiving a request, checking an authorization of the host computing device before providing the peripheral device.

19. The method of claim 1 further comprising:

providing status information to the host computing device.

20. The method of claim 1 wherein the at least one characteristic of the at least one service includes information about the capability of the peripheral device.

21. The method of claim 1 further comprising:

receiving a request to stop providing the peripheral device as an auxiliary peripheral device to the host computing device; and

switching to the standalone mode.

22. The method of claim 1 wherein the host computing device comprises a host peripheral device, the method further comprising:

requesting that the host computing device provide its host peripheral device as an auxiliary peripheral device to the peripheral device; and

sending commands to the host computing device intended for the host peripheral device.

23. A computer-readable medium containing computer-executable instructions for performing a method for a peripheral device having at least one service to provide the at least one service to a host computing device, at least one characteristic corresponding to the at least one service and the host computing device being distinct from the provider computing device, the method comprising:

running the peripheral device in a standalone mode, wherein the peripheral device sends information regarding the at least one characteristic of the at least one service to the host computing device;

receiving a request from the host computing device at the peripheral device responsive to sending the information regarding the at least one characteristic, the request being to provide the at least one service and to provide the peripheral device as an auxiliary peripheral device to the host computing device;

switching to an auxiliary mode; and

while running in the auxiliary mode, receiving commands from the host computing device at the peripheral device and operating the peripheral device in accordance with the received commands to provide the at least one service.

24. A system for providing an auxiliary peripheral device to a host computing device, the system comprising:

the host computing device;

a peripheral device having at least one characteristic corresponding to at least one service, the peripheral device being distinct from the host computing device and being capable of running in a standalone mode and in an auxiliary mode, the peripheral device sending information regarding the at least one characteristic to the host computing device and, while running in the auxiliary mode, receiving commands from the host computing device responsive to the information regarding the at least one characteristic, the commands being received at the peripheral device and operating the peripheral device in accordance with the received commands; and

a communications link between the host computing device and the peripheral device.

25. The system of claim 24 wherein the peripheral device comprises a command interface for a user.

26. The system of claim 24 wherein the host computing device comprises a host peripheral device, wherein the host computing device is capable of running in a standalone mode and in an auxiliary mode, wherein the host computing device is capable while running in the auxiliary mode of receiving commands from the peripheral device intended for the host peripheral device and operating the host peripheral device in accordance with the received commands.

27. The system of claim 24 wherein the peripheral device is a display screen, wherein the host computing device is capable of allocating video memory on the host computing device to accommodate at least a portion of the display screen, and wherein the host computing device is capable of accessing the allocated video memory to control, at least in part, the display screen.

28. The system of claim 24 wherein the peripheral device is a display screen and wherein the communications link comprises a Windows Terminal Services session.

29. A method for a host computing device to use, as an auxiliary peripheral device to the host computing device, at least a portion of a display screen of a peripheral device, the host computing device distinct from the peripheral device, the method comprising:

receiving from the peripheral device information regarding a characteristic of the display screen;

requesting that the peripheral device provide at least a portion of the display screen as an auxiliary peripheral device to the host computing device in response to receiving the information regarding the characteristic;

allocating video memory on the host computing device to accommodate at least a portion of the display screen based on the characteristic;

accessing the allocated video memory to control, at least in part, the display screen; and
sending commands intended to operate at least a portion of the display screen responsive to the characteristic.

30. The method of claim 29 wherein the display screen is a touch-sensitive display screen, the method further comprising:

receiving touch input information from the display screen.

31. The method of claim 29 wherein the host computing device comprises a receiver, the method further comprising:

establishing communications with the peripheral device upon detecting that the peripheral device is in contact with the receiver.

32. The method of claim 29 wherein allocating video memory comprises using a multi-monitor capability of the host computing system.

33. The method of claim 29 wherein sending commands comprises running a Windows Terminal Services session with the peripheral device.

34. The method of claim 29 further comprising:

receiving from the peripheral device an indication of readiness to provide the display screen.

35. The method of claim 29 further comprising:

providing authorization information to the peripheral device.

36. The method of claim 29 further comprising:

receiving status information from the peripheral device.

37. The method of claim 29 wherein the characteristic includes:

capability information about the display screen, the capability information selected from the group consisting of pixel size and color depth.

38. The method of claim 29 wherein the host computing device comprises a host peripheral device, the method further comprising:

receiving a request that the host computing device provide the host peripheral device as an auxiliary peripheral device to the peripheral device; and

receiving commands from the peripheral device at the host peripheral device to operate the peripheral device in accordance with the received commands.

39. A computer-readable medium containing computer-executable instructions for performing a method for a host computing device to use, as an auxiliary peripheral device to the host computing device, at least a portion of a display screen of a peripheral device, the host computing device distinct from the peripheral device, the method comprising:

receiving from the peripheral device information regarding a characteristic of the display screen;

requesting that the peripheral device provide at least a portion of the display screen as an auxiliary peripheral device to the host computing device in response to the information regarding the characteristic;

allocating video memory on the host computing device to accommodate at least a portion of the display screen based on the characteristic;

accessing the allocated video memory to control, at least in part, the display screen; and
sending commands intended to operate at least a portion of the display screen responsive to the characteristic.