The invention relates to wireless communication between a host computer and peripherals, particularly to connection between BLUETOOTH devices.
BLUETOOTH is a wireless technology standard for exchanging data over short distances (using short-wavelength UHF radio waves in the ISM band from 2.4 to 2.485 GHz) from fixed and mobile devices, and building personal area networks (PANs). It can connect several devices, overcoming problems of synchronization.
BLUETOOTH is a packet-based protocol with a master-slave structure. One master may communicate with up to seven slaves in a piconet. BLUETOOTH is defined as a layer protocol architecture consisting of core protocols, cable replacement protocols, telephony control protocols, and adopted protocols. Mandatory protocols for all BLUETOOTH stacks are: LMP (Link Management Protocol), L2CAP (Logical Link Control and Adaptation Protocol) and SDP (Service Discovery Protocol). In addition, devices that communicate with BLUETOOTH almost universally can use these protocols: HCI (Host to Controller Interface) and RFCOMM (Radio Frequency Communications).
According to the BLUETOOTH specification, when a personal computer (PC), such as a desktop or a laptop computer, is connected with one or more external devices through BLUETOOTH, the PC generally serves as a BLUETOOTH host device and the external devices serve as BLUETOOTH accessory devices. In other words, a PC itself cannot be a Bluetooth accessory of other Bluetooth device. For example, when a smartphone is connected to a PC through BLUETOOTH, the keyboard, mouse, speaker, and microphone of the PC cannot be used by the smartphone.
To remove this restriction, a common solution is to replace all inherent drivers of the peripherals of the PC with proprietary drivers in a driver level. The proprietary driver will implement the Bluetooth software stack to make the PC serve as Bluetooth accessory for other Bluetooth device such as smart phone. Since the inherent Bluetooth software stack in driver level is replaced and cannot coexist with proprietary driver, some features or API provided by computer OS cannot be used. It will result in some Bluetooth applications based on original inherent software stack not working.
An object of the invention is to provide a method for making a host personal computer as an accessory in a BLUETOOTH piconet, which can automatically change a BLUETOOTH host PC to act as a BLUETOOTH accessory device. The method proposed in this invention is to connect another Bluetooth adapter to PC and implement Bluetooth software stack in application level on top of the adapter to let PC play Bluetooth accessory role. With this approach, the inherent Bluetooth software stack provided by OS can still work and normally make PC play Bluetooth host role. Therefore, the PC can play both Bluetooth host and accessory roles simultaneously and smoothly.
To accomplish the above object, the method for making a host personal computer as an accessory in BLUETOOTH piconet of the invention includes the steps of:
a) providing a BLUETOOTH adapter;
b) connecting the BLUETOOTH adapter to a personal computer (PC) with a software program running in application level;
c) installing a custom BLUETOOTH adapter bus driver to be accessed and operated solely by the software program;
d) implementing all necessary BLUETOOTH software stack above and including Bluetooth HCI profiles; and
e) the PC serving as a BLUETOOTH accessory device.
Please refer to
Please refer to
While each implementation has specific requirements that are detailed in the BLUETOOTH specification, the BLUETOOTH core system architecture has many consistent elements. The system includes an RF transceiver, baseband and protocol stacks that enable devices to connect and exchange a variety of classes of data.
The BLUETOOTH device 1 exchanges protocol signaling according to the BLUETOOTH specification. Core system protocols are the radio (RF) protocol, link control (LC) protocol, link manager (LM) protocol and logical link control and adaptation protocol (L2CAP), all of which are fully defined in the BLUETOOTH specification.
The lowest three system layers—the radio, link control and link manager protocols—are often grouped into a subsystem known as the BLUETOOTH controller. This is a common implementation that uses an optional standard interface—the Host to Controller Interface (HCI)—that enables two-way communication with the remainder of the BLUETOOTH system, called the BLUETOOTH host. The step S4 implements all necessary BLUETOOTH software stack above and including the HCI, namely, the logical link control and adaptation protocol (L2CAP), the RFCOMM (Radio Frequency Communications) and the SDP (Service Discovery Protocol).
The BLUETOOTH application profiles include, but not limited to, HID (human interface device), HFP (Hand-Free Profile), A2DP (Advanced Audio Distribution Profile), and BLE (BLUETOOTH low energy). All the mentioned software stack is implemented in an application level instead of a driver level.
Finally, in step S5, the PC 2 is switched to serve as a BLUETOOTH accessory device in the piconet after step S4 and can be used to wirelessly connect other BLUETOOTH devices. As a result, the peripherals of the PC 2, such as the speaker 21, the microphone 22, the keyboard 23, and the mouse 24 can become accessory devices of the BLUETOOTH device 1.
In sum, by the method of the invention, a personal computer 2 can be automatically and stably switched to serve as an accessory device in a BLUETOOTH piconet. This is very helpful for those users who connect their handheld computers to a personal computer through BLUETOOTH.
It will be appreciated by persons skilled in the art that the above embodiment has been described by way of example only and not in any limitative sense, and that various alterations and modifications are possible without departure from the scope of the invention as defined by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
7003102 | Kiko | Feb 2006 | B2 |
7047051 | Sackett | May 2006 | B2 |
7165171 | Zhang | Jan 2007 | B2 |
7215649 | Yu | May 2007 | B2 |
7269183 | Morris | Sep 2007 | B2 |
7436300 | Glass | Oct 2008 | B2 |
7506148 | Zhang | Mar 2009 | B2 |
7596353 | Chung | Sep 2009 | B2 |
7599662 | Ibrahim | Oct 2009 | B2 |
7774027 | Parikh | Aug 2010 | B2 |
7801561 | Parikh | Sep 2010 | B2 |
8014339 | Moore | Sep 2011 | B1 |
8050647 | Ibrahim | Nov 2011 | B2 |
8073388 | Grushkevich | Dec 2011 | B2 |
8095078 | Benkert | Jan 2012 | B2 |
8190716 | Zhodzishsky | May 2012 | B2 |
8208854 | Winter | Jun 2012 | B2 |
8224247 | Kidron | Jul 2012 | B2 |
8249649 | Tseng | Aug 2012 | B2 |
8287434 | Zavadsky | Oct 2012 | B2 |
8346170 | Preston | Jan 2013 | B2 |
8554138 | Higgins | Oct 2013 | B2 |
8620379 | Zhodzishsky | Dec 2013 | B2 |
8700089 | Tseng | Apr 2014 | B2 |
8761671 | Singer | Jun 2014 | B2 |
8798541 | Scott | Aug 2014 | B1 |
8862399 | Schmidt | Oct 2014 | B2 |
8892175 | Kirsch | Nov 2014 | B2 |
8897764 | Takikawa | Nov 2014 | B2 |
8942632 | Shen | Jan 2015 | B2 |
8976724 | Hauser | Mar 2015 | B2 |
9049042 | Tagg | Jun 2015 | B2 |
9144094 | Bhamidipati | Sep 2015 | B2 |
9189182 | Jung | Nov 2015 | B2 |
9229854 | Kuzmin | Jan 2016 | B1 |
9237217 | Zeung | Jan 2016 | B2 |
9306872 | Donaldson | Apr 2016 | B2 |
9383772 | Zeung | Jul 2016 | B2 |
9544718 | Song | Jan 2017 | B2 |
9710377 | Kuzmin | Jul 2017 | B1 |
20020012329 | Atkinson | Jan 2002 | A1 |
20030013411 | Uchiyama | Jan 2003 | A1 |
20030068033 | Kiko | Apr 2003 | A1 |
20030087681 | Sackett | May 2003 | A1 |
20040070488 | Stockhammer | Apr 2004 | A1 |
20040198219 | Malmstrom | Oct 2004 | A1 |
20040230790 | Zhang | Nov 2004 | A1 |
20050083741 | Chang | Apr 2005 | A1 |
20050107103 | Melpignano | May 2005 | A1 |
20050152294 | Yu | Jul 2005 | A1 |
20050181729 | Ibrahim | Aug 2005 | A1 |
20050197064 | Ibrahim | Sep 2005 | A1 |
20050286466 | Tagg | Dec 2005 | A1 |
20060025075 | Chung | Feb 2006 | A1 |
20060068760 | Hameed | Mar 2006 | A1 |
20060105712 | Glass | May 2006 | A1 |
20060116107 | Hulvey | Jun 2006 | A1 |
20070150560 | Zhang | Jun 2007 | A1 |
20070173270 | Block | Jul 2007 | A1 |
20070211624 | Schmidt | Sep 2007 | A1 |
20080002758 | Schmidt | Jan 2008 | A1 |
20080070504 | Benkert | Mar 2008 | A1 |
20080081559 | Parikh | Apr 2008 | A1 |
20080081667 | Parikh | Apr 2008 | A1 |
20080207126 | Grushkevich | Aug 2008 | A1 |
20080274695 | Muth | Nov 2008 | A1 |
20080287063 | Kidron | Nov 2008 | A1 |
20080294340 | Schmidt | Nov 2008 | A1 |
20080311852 | Hansen | Dec 2008 | A1 |
20090061775 | Warren | Mar 2009 | A1 |
20090204964 | Foley | Aug 2009 | A1 |
20090318081 | Winter | Dec 2009 | A1 |
20100009673 | Ibrahim | Jan 2010 | A1 |
20100197326 | Ngo | Aug 2010 | A1 |
20100284380 | Banerjee | Nov 2010 | A1 |
20100328216 | Honda | Dec 2010 | A1 |
20110034125 | Preston | Feb 2011 | A1 |
20110034126 | Higgins | Feb 2011 | A1 |
20110107117 | Jung | May 2011 | A1 |
20110251021 | Zavadsky | Oct 2011 | A1 |
20110255454 | Hauser | Oct 2011 | A1 |
20110320624 | Schmidt | Dec 2011 | A1 |
20120003973 | Tseng | Jan 2012 | A1 |
20120142271 | Zhodzishsky | Jun 2012 | A1 |
20120165062 | Preston | Jun 2012 | A1 |
20120185071 | Kwon | Jul 2012 | A1 |
20120203877 | Bartholomay | Aug 2012 | A1 |
20130010764 | Tseng | Jan 2013 | A1 |
20130065680 | Zavadsky | Mar 2013 | A1 |
20130090931 | Ghovanloo | Apr 2013 | A1 |
20130137415 | Takikawa | May 2013 | A1 |
20130288606 | Kirsch | Oct 2013 | A1 |
20140120829 | Bhamidipati | May 2014 | A1 |
20140297900 | Herbert | Oct 2014 | A1 |
20140342669 | Zeung | Nov 2014 | A1 |
20140344494 | Zeung | Nov 2014 | A1 |
20150024804 | Davis | Jan 2015 | A1 |
20150223272 | Parkinson | Aug 2015 | A1 |
20150281853 | Eisner | Oct 2015 | A1 |
20150281877 | Walden | Oct 2015 | A1 |
20150365979 | Park | Dec 2015 | A1 |
20160012465 | Sharp | Jan 2016 | A1 |
20160014545 | Tian | Jan 2016 | A1 |
20160037389 | Tagg | Feb 2016 | A1 |
20160080896 | Song | Mar 2016 | A1 |
20160119320 | Bansal | Apr 2016 | A1 |
20160134996 | Verma | May 2016 | A1 |
20160150105 | Shinomiya | May 2016 | A1 |
20160184635 | Kwon | Jun 2016 | A1 |
20160189143 | Koeppel | Jun 2016 | A1 |
20160249356 | Pope | Aug 2016 | A1 |
20160262056 | Chen | Sep 2016 | A1 |
20160277875 | Ivanova | Sep 2016 | A1 |
20160359925 | Song | Dec 2016 | A1 |
20160366263 | Song | Dec 2016 | A1 |
20170006415 | Song | Jan 2017 | A1 |
20170034646 | Song | Feb 2017 | A1 |
Number | Date | Country | |
---|---|---|---|
20170366923 A1 | Dec 2017 | US |