The present application relates to wireless communications for wireless devices, and more specifically to establishing voice communication between a mobile communication device and a computer.
Wireless communication systems have developed through various generations, including a first-generation analog wireless phone service (1G), a second-generation (2G) digital wireless phone service (including interim 2.5G and 2.75G networks) and a third-generation (3G) and fourth generation (4G) high speed data/Internet-capable wireless service. There are presently many different types of wireless communication systems in use, including Cellular and Personal Communications Service (PCS) systems. Examples of known cellular systems include the cellular Analog Advanced Mobile Phone System (AMPS), and digital cellular systems based on Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), the Global System for Mobile access (GSM) variation of TDMA, and newer hybrid digital communication systems using both TDMA and CDMA technologies.
Various call modalities are known. Some wireless devices can communicate to each other and/or to land line phones using circuit switched connections. Others connect computers to one another and can connect a computer and a wireless device using packet switched techniques, such as Voice over Internet Protocol (VoIP).
However, it remains difficult to conveniently arrange, set up and conduct voice communication between a wireless device and a computer such as a personal computer (PC).
Exemplary aspects of the disclosure are directed to systems and method for facilitating voice communications between a wireless device and a personal computer by leverage existing voice communication technology (e.g., circuit switched technology) and commonly shared communication servers that are not dedicated to establishing voice communications (e.g., Instant Message (IM) servers, social network servers, etc.).
An aspect can include a method of establishing a voice call between a wireless device and a personal computer (PC), the method comprising: receiving a call initiation message including information for the PC at a server from the wireless device; setting up a conference, including establishing a conference ID to conference the wireless device and the PC; generating a message for the PC containing voice contact information for the wireless device related to the conference ID; transmitting the message to the PC; and transmitting a dial-in phone number to the wireless device to dial into the conference.
Another aspect can include an apparatus configured to establish a voice call between a wireless device and a personal computer (PC), the apparatus comprising: a first module to receive a call initiation message including information for the PC from the wireless device; a second module configured to set up a conference, including being configured to establish a conference ID to conference the wireless device and the PC; a third module configured to generate a message for the PC containing voice contact information for the wireless device related to the conference ID; a fourth module configured to transmit the message to the PC; and a fifth module configured to transmit a dial-in phone number to the wireless device to dial into the conference.
Another aspect can include an apparatus for establishing a voice call between a wireless device and a personal computer (PC), the apparatus comprising: means for receiving a call initiation message including information for the PC at a server from the wireless device; means for setting up a conference, including establishing a conference ID to conference the wireless device and the PC; means for generating a message for the PC containing voice contact information for the wireless device related to the conference ID; means for transmitting the message to the PC; and means for transmitting a dial-in phone number to the wireless device to dial into the conference.
Another aspect can include a non-transitory computer-readable storage medium comprising at least one sequence of instructions related to establishing a voice call between a wireless device and a personal computer (PC), the instructions comprising: at least one instruction for receiving- a call initiation message including information for the PC at a server from the wireless device; at least one instruction for setting up a conference, including establishing a conference ID to conference the wireless device and the PC; at least one instruction for generating a message for the PC containing voice contact information for the wireless device related to the conference ID; at least one instruction for transmitting the message to the PC; and at least one instruction for transmitting a dial-in phone number to the wireless device to dial into the conference.
Other aspects can include methods and apparatuses for establishing a voice call between a wireless device and a personal computer (PC) at the PC, the method comprising: logging into a first server that is also accessible by the wireless device; receiving a message at the PC containing voice contact information for the wireless device and code to launch a phone application; launching the phone application; and making the voice call from the PC via a second server using the voice contact information, wherein the voice contact information is not a phone number of the wireless device.
Still other aspects can include methods and apparatuses for establishing a voice call between a wireless device and a PC, at the wireless device the method comprising: logging into a first server, by the wireless device that contains contact information for the PC; identifying presence of the PC based on a presence indication from the first server; contacting a second server with contact information for the PC to establish the voice call; receiving a dial-in phone number from the second server; and calling a Private Branch Exchange (PBX) server using the dial-in phone number.
The accompanying drawings are presented to aid in the description of aspects of the disclosure and are provided solely for illustration of the aspects and not limitation thereof.
Aspects of the disclosure are disclosed in the following description and related drawings directed to specific aspects of the disclosure. Alternate aspects may be devised without departing from the scope of the invention. Additionally, well-known elements of the invention will not be described in detail or will be omitted so as not to obscure the relevant details of the invention.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects. Likewise, the terms “embodiments of the invention” or “aspects of the disclosure” do not require that all embodiments or aspects include the discussed feature, advantage or mode of operation. The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of aspects of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising,”, “includes” and/or “including”, when used herein, specify the presence of stated features, functionalities, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, functionalities, steps, operations, elements, components, and/or groups thereof
Further, many aspects are described in terms of sequences of actions to be performed by, for example, elements of a computing device. It will be recognized that various actions described herein can be performed by specific circuits (e.g., application specific integrated circuits (ASICs)), by program instructions being executed by one or more processors, or by a combination of both. Additionally, these sequence of actions described herein can be considered to be embodied entirely within any form of computer readable storage medium having stored therein a corresponding set of computer instructions that upon execution would cause an associated processor to perform the functionality described herein. Thus, the various aspects of the disclosure may be embodied in a number of different forms, all of which have been contemplated to be within the scope of the claimed subject matter. In addition, for each of the aspects described herein, the corresponding form of any such aspects may be described herein as, for example, “logic configured to” perform the described action.
A radio access network, may be connected to additional networks outside the radio access network, such core network including specific carrier related servers and devices and connectivity to other networks such as a corporate intranet, the Internet, public switched telephone network (PSTN), a Serving General Packet Radio Services (GPRS) Support Node (SGSN), a Gateway GPRS Support Node (GGSN), and may transport voice and data packets between each wireless device and such networks. A wireless device may be any data device that communicates through a wireless channel. A wireless device may further be any of a number of types of devices including but not limited to a PC card, compact flash device, external or internal modem, or cellular phone, for example.
Referring back to
Referring to
Accordingly, an aspect of the disclosure can include a wireless device including a wireless client voice (WCV) application 250 that is loaded into memory 212 and executed on processor 208 that has the ability to interface to the various capabilities of wireless device 200 to perform the functions described hereafter in relation to the various aspects of the disclosure. Other applications, such as IM client 252 and social networking client 254 may also be active on a personal computer PC and used in aspects as discussed hereafter. As will be appreciated by those skilled in the art, the various aspects of the disclosure can be embodied in discrete elements, software modules executed on a processor or any combination of software and hardware to achieve the functionality disclosed herein. For example, processor 208, memory 212, and operating system 210 may all be used to cooperatively load, store and execute the WCV application 250 and other applications to perform various functions disclosed herein and thus the logic or modules to perform these functions may be distributed over various elements. Further, it will be appreciated that the features of the wireless device 200 in
The wireless communication between the wireless device 200 and the RAN 120 can be based on different technologies, such as code division multiple access (CDMA), W-CDMA, time division multiple access (TDMA), frequency division multiple access (FDMA), Orthogonal Frequency Division Multiplexing (OFDM), the Global System for Mobile Communications (GSM), or other protocols that may be used in a wireless communications network or a data communications network. As discussed in the foregoing and known in the art, voice transmission and/or data can be transmitted to the wireless devices 200 from the RAN using a variety of networks and configurations. Accordingly, the illustrations provided herein are not intended to limit the aspects of the disclosure and are merely to aid in the description of aspects of aspects of the disclosure.
Accordingly, an aspect of the disclosure can include a PC 300 including a soft phone application 350 that may be implemented as a Flash® client application that is loaded into memory 314 and executed at least in part by processor 310 that has the ability to perform the functions described hereafter in relation to the various aspects of the disclosure. For example, in one aspect, the soft phone application 350 may be stored on a remote server and when a URL linking to the stored soft phone application is opened, the soft phone application 350 can be downloaded from the remote server and executed at least in part on PC 300. In another aspect, the soft phone application 350 may be stored and instantiated locally in PC 300. For example, soft phone application 350 may, at least in part, be instantiated before the call information is provided, so that it can detect specific messages having information to be used by the soft phone and communicate with the wireless device, which can allow for the automatic launch of the soft phone.
Other applications, such as IM client 352 and social networking client 354 may also be active on PC 300 and used in aspects as discussed hereafter. As will be appreciated by those skilled in the art, the various logic performing these functions may be distributed over various elements in a networked environment. Further, it will be appreciated that the features of the PC 300 in
Aspects disclosed herein are directed to systems and methods for providing communication including voice communication between a wireless device and a computer coupled to a wired network. By wired networks, it is meant those networks connecting an apparatus (e.g., PC 300) to the network/Internet at least in part through hard wires, optical lines, cables, and the like. By wireless or mobile or cellular networks, it is meant those networks substantially including some radio frequency or microwave or other non-wired communication link(s) to carry the voice and/or data of concern, such as described in relation to
In contrast to known communication techniques, such as group or dispatch communications that are based on packet switched technology arbitrated by an application server, aspects disclosed herein are directed to systems and methods for providing voice communication between a wireless device and a computer (e.g., PC 300) coupled to a wired network. Aspects leverage existing voice communication protocols (e.g., circuit switched technology) and commonly shared communication servers that are not dedicated to establishing voice communications (e.g., IM servers, social network servers, etc.).
The following discussion refers to
The system 400 can include or be coupled to a number of server devices (e.g., 401, 403, 406), wireless communication infrastructure, e.g., cellular communication infrastructure or wireless network 420 (which may include elements such as RAN 120 and related infrastructure as illustrated in
Wireless device 200 includes the hardware and software capability to permit wireless (e.g., cellular) phone calls. Also, wireless device 200 includes capabilities to display a set of contacts as would be found in an electronic phone book or directory. In addition, wireless device 200 may be adapted to send and receive digital or analog data signals and control signals, as known in the art.
Wireless device 200 is coupled to a wireless network 420 or other wireless hub, repeater, or wireless access point. In some aspects, a phone book of contacts (contact list) of the user of the wireless device 200 is presented by the wireless device 200 to the user. The contacts list can either be stored on wireless device 200, locally in a memory on wireless device 200, or may be stored on a server (including social network servers) with appropriate storage so as to provide the contacts list to the wireless device's user.
A wireless connection, (e.g., such as discussed in relation to
Wireless device 200 is adapted to log in and authenticate itself with first server 401 so as to gain access to functions of first server 401. For example, wireless device 200 may log in (using first server 401) to a social networking feature from a third party provider. One such example can include logging into an instant messaging (IM) account feature made possible by first server 401.
First server 401 can be coupled over a suitable communication path, which may be a wired or wireless path, to a second server 403. Second server 403 includes or may be coupled to a database 404 (e.g., a MySQL database). Second server 403 and database 404 include data relating to a user account, and attributes associated with the user's account. For example, second server 403 may be adapted to facilitate IM sessions by the user of wireless device 200. It will be appreciated that in a networked environment servers and databases may be integrated in one device or may be spread over several devices. Accordingly, the identified servers and databases are provided merely for discussion and not limitation of the scope of the invention.
The communication between first server 401 and second server 403 may include Gaim type (instant messaging) formatted communications, and one or both servers may implement a Pidgin platform-translation function or similar function. Pidgin is a multi-platform instant messaging client that flexibly supports a useful number of commonly used IM protocols. Therefore, a user may be able to log in to more than one service at the same time using the above described technology.
Server 403 may further be adapted and programmed to support an extensible messaging and presence protocol (XMPP). The functionality of second server 403 may allow an instant message to be sent to a computer such as a personal computer (e.g., PC 300), workstation, laptop, or similar device. In aspects, PC 300 is capable of running an instant messaging program that receives the instant message information from second server 403 and displays the same to a user of PC 300. A display screen or analogous visual or audible user output interface shows message content 411 to the user of PC 300.
In some aspects, the message content 411 includes a link, or uniform resource locator (URL) or similar logical connection that allows the user of PC 300 to click or select or indicate that he or she is interested in connecting to the link (URL) presented in message content 411. Specifically, according to some aspects, a user of PC 300 is presented with a URL as a selectable link.
Upon selecting the link or URL presented to the user of PC 300, a browser client may be launched that presents the user of PC 300 with a Flash-based phone interface (a soft-phone) from which the user can click to call a callee via Flash® phone 422. The callee is the wireless device 200 (i.e., the user of the wireless device) and a audio connection via a soft phone application (e.g., via Flash® phone 422) between PC 300 and a third server 406 is established, where third server 406 is adapted and programmed to support such communications and pass them on to the intended wireless device (e.g., wireless device 200), by way of first server 401, for example.
Referring to
At 501, a user of a wireless device 200 can log in to a secure chat or instant messaging (IM) service. The mobile user may see the presence of some of his or her contacts, friends, or other users in the IM environment.
At 502, the user of a wireless device selects one of his or her contacts with whom he or she wishes to speak. The selected contact is a PC user who is also logged in to the IM service at 503 and who may be also aware of the presence of the user of the wireless device at 504.
The wireless device user may establish a chat or IM session with the PC user at step 505, which causes a chat window to open on the screen of the PC. This chat window includes information such as the identity of the mobile user who has initiated contact, and a link (URL) that the PC user can select to establish a call connection with the wireless device user.
When the PC user selects the URL link in step 506 a browser on the PC may pop up a Flash-based telephone interface and allow the PC to establish or set up a call (e.g., using SIP/RTP) at 507.
A connection can then be established from the Flash-based phone interface from the PC to the wireless device using Asterisk or a similar PBX modality. Thus, a call channel is opened up between the wireless device and the PC at 508.
Some aspects of the disclosure may employ a Flash® XIFF application rather than a Pidgin type IM application, or similar or equivalent applications. In yet other aspects a Flash® https protocol or other protocols may alternatively be used to bridge the call between the PC and the wireless device users. It will be appreciated that although commercial products are used herein, such as Flash® from Adobe®, it is merely used as example product that can be used in various aspects. However, it will be appreciated that the various aspects of the disclosure are directed to the underlying functionality, such as a cross-platform multimedia application platform for Flash® and not the actual product itself.
As will be appreciated from the foregoing, various methods can be used to allow for various implementations of placing a call between a wireless device and a PC. For example, in one aspect, the wireless device user (user A) is logged into common server via the wireless device (e.g., using an IM client or social network client). A PC user (user B) is also logged into the common server via the PC (e.g., using an IM client or social network client) through an at least partially wired network connection. User A detects that user B is online, and selects “Call” on the wireless device. The wireless device communicates with a server over http (e.g., the server runs a Perl script). The Perl script can be used to set up the call by:
It will be appreciated that the foregoing detailed procedures are provided merely for illustration and explanation of the various aspects of the aspects and should not be construed as limiting the various aspects to the specific actions and or elements discussed.
Referring to
For example, in relation to wireless device 200, the wireless device 200 (user A) can log in to a first server 603 (e.g., an IM server, social networking server, etc.), 610. PC 300 (user B) can also log in to the first server 603, at 640. Presence information 650 can be provided to wireless device 200 (user A) and/or PC 300 (user B). Accordingly, wireless device 200 can identify the presence of the PC 300 based on a presence indication from the first server 603. Using an application (e.g., WCV application 250) on the wireless device 200, user B (e.g., PC 300) can be selected and a second server 601 can be contacted with contact information for the PC to establish the voice call 612. For example, the contact information for the PC (user B) can be IM contact information, email address, social network ID, and the like. A dial-in number is received from the second server 601. In 614, the dial-in number can be used to call a Private Branch Exchange (PBX) server or module in second server 601 to place the voice call to PC 300. It will be appreciated that PBX server, may be part of 601, as illustrated, but may also be a separate server operably coupled to the second server. Further, it will be appreciated that the dial-in communication is circuit-switched communication (e.g., a conventional voice call), whereas the initial communication with the second server can be data (e.g., packet switched) communicated between the application on wireless device 200 and the second server 601.
As noted above, server 601 may comprise one or more servers (e.g., 401 and 406 from
The server 601 then awaits the arrival of a first participant and detects an arrival of a first voice connection from one of the wireless device 200 or the PC 300 (in the illustrated example the wireless device 200 is the first to arrive), in 626. In 628, a channel ID associated with the conference ID is assigned. In 630, an arrival of the second participant is detected, by detecting an arrival of a second voice connection of the other of wireless device 200 or PC 300 (in the illustrated example the PC 300 is the second to arrive). The voice call between the wireless device 200 and PC 300 is completed by bridging the first and second voice connections using the channel ID, in 632.
As discussed in the foregoing, detecting an arrival of the first voice connection can include retrieving the conference ID from a conference database based on: (i) a caller ID, a dial-in number, or a dial-in code for the wireless device 200, or (ii) an extension ID for the PC 300. Then, upon determining that a channel ID has not been assigned, the server 601 can infer that the connection from the wireless device or PC was the first voice connection. Likewise, the arrival of the second voice connection can be detected by retrieving the conference ID from the conference database based on (i) a caller ID, a dial-in number, or a dial-in code for the wireless device 200, or (ii) an extension ID for the PC 300. Then, upon determining the channel ID has been assigned, the server 601 can determine that the current voice connection is the second voice connection. To facilitate establishing the voice call between the wireless device 200 and PC 300, information for the wireless device 200 and for the PC 300 can be stored in a conference database, so it can be retrieved for identifying the calling parties and associating a channel ID, as discussed in the foregoing.
Also, as discussed, in some aspects, the message for the PC 300 can be an instant message (IM) and the voice contact information can be embedded in a URL link and can include an extension ID related to the conference ID. In some aspects, the URL can be directed to a Flash® server (soft phone server or soft phone module), which can be a separate server or integrated into server 601, and include an extension ID related to the conference ID. The message can be transmitted in an extensible messaging and presence protocol (XMPP). Additionally, the message can be transmitted to the PC 300 using information from a social network server and/or using the social network server (which may be the server 603 or may be another remote server).
Referring back to
Also, as discussed, in some aspects the message for the PC 300 can be an instant message (IM) and the voice contact information can be embedded in a URL link and can include an extension ID related to the conference ID. In some aspects, the URL can be directed to a soft phone server (which can be a separate server or integrated into server 601) and include an extension ID related to the conference ID. The message can be transmitted in an extensible messaging and presence Protocol (XMPP). Additionally, the message can be transmitted to the PC 300 using information from a social network server and/or using the social network server itself (which may be the server 603 or may be another remote server).
As illustrated in
Likewise, user B on PC 300 can connect to server 603 (e.g., IM/social network server), which also is available to wireless device 200. As noted above, server 603 can relay presence information for PC 300 and wireless device 200. Further, after the server 601 (or one of its sub-elements) receives the call request from wireless device 200 for PC 300, a message is sent to PC 300 containing call information for calling the wireless device (without directly calling the phone number of the wireless device). The message may come from server 601 (or one of its sub-elements) over data connection 722 or may be transmitted via server 603 (e.g., IM/social network server) using data connection 730 and data connection 720. Regardless of the path back to PC 300, when the PC 300 receives the message it can be presented in a chat type window for user B to select to call. Alternatively, soft phone application 350 (e.g., a Flash® client) or other application resident on PC 300 can detect special coding in the message and automatically launch the soft phone 422 by accessing soft phone (SP) server/module 702. For example, in one aspect the message may contain a URL that has a link to the soft phone module 702 and a conference ID that is unique for the conference between the wireless device 200 and PC 300. The voice connection over connection 722 can be considered a VoIP connection and may use SIP/RTP, for example. Upon connecting to server 601, the remaining actions are transparent to user B and the call connection is made when the voice connection from PC 300 and the voice connection from wireless device 200 are bridged or joined, as discussed in the foregoing.
It will be appreciated that the elements illustrated may be implemented as independent servers (e.g., 401, 406 as illustrated in
Referring back to
In view of the foregoing, it will be recognized that aspects of the disclosure can include methods in accordance with the various functions, actions, sequences and/or algorithms described herein. For example, as illustrated in the flowchart of
In another example, as illustrated in the flowchart of
In another example, as illustrated in the flowchart of
Those of skill in the art will appreciate that information and signals discussed herein may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
Further, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the invention.
As used in this application, the terms “component,” “module,” “system” and the like are intended to include a computer-related entity, such as but not limited to hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a module may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computing device and the computing device can be a module. One or more modules can reside within a process and/or thread of execution and a module may be localized on one computer and/or distributed between two or more computers. In addition, these modules can execute from various computer readable media having various data structures stored thereon. The modules may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets, such as data from one module interacting with another module in a local system, distributed system, and/or across a network such as the Internet with other systems by way of the signal.
Various aspects or features will be presented in terms of systems that may include a number of devices, components, modules, and the like. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. A combination of these approaches may also be used.
Accordingly, it will be appreciated that aspects of the disclosure can include apparatuses having various modules configured to perform the functions disclosed herein. For example, the sequence of actions and/or functionalities illustrated in relation to
Furthermore, various aspects are described herein in connection with a wireless device, which can also be referred to as a terminal or wireless terminal. A wireless device may also be called a subscriber unit, subscriber station, mobile station, mobile, mobile device, remote station, remote terminal, access terminal, user terminal, terminal, communication device, user agent, user device, user equipment (UE), and variations thereof. A wireless device may be a cellular telephone, a satellite phone, a cordless telephone, a personal digital assistant (PDA), a handheld device having wireless connection capability, a computing device, or other processing devices connected to a wireless modem.
Moreover, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise, or clear from the context, the phrase “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, the phrase “X employs A or B” is satisfied by any of the following instances: X employs A; X employs B; or X employs both A and B. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from the context to be directed to a singular form.
The techniques described herein may be used for various wireless communication systems such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA and other systems. The terms “system” and “network” are often used interchangeably. A CDMA system may implement a radio technology such as Universal Terrestrial Radio Access (UTRA), cdma2000, etc. UTRA includes Wideband-CDMA (W-CDMA) and other variants of CDMA. Further, cdma2000 covers IS-2000, IS-95, and IS-856 standards. A TDMA system may implement a radio technology such as Global System for Mobile Communications (GSM). An OFDMA system may implement a radio technology such as Evolved UTRA (E-UTRA), Ultra Mobile Broadband (UMB), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, etc. UTRA and E-UTRA are part of Universal Mobile Telecommunication System (UMTS). 3GPP Long Term Evolution (LTE) is a release of UMTS that uses E-UTRA, which employs OFDMA on the downlink and SC-FDMA on the uplink. UTRA, E-UTRA, UMTS, LTE, and GSM are described in documents from an organization named “3rd Generation Partnership Project” (3GPP). Additionally, cdma2000 and UMB are described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2). Further, such wireless communication systems may additionally include peer-to-peer (e.g., mobile-to-mobile) ad hoc network systems often using unpaired unlicensed spectrums, 802.xx wireless LAN, BLUETOOTH and any other short- or long-range, wireless communication techniques.
The various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Additionally, at least one processor may comprise one or more modules operable to perform one or more of the steps and/or actions described above.
Further, the steps and/or actions of a method or algorithm described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An example storage medium may be coupled to the processor, such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. Further, in some aspects, the processor and the storage medium may reside in an ASIC. Additionally, the ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal. Additionally, in some aspects, the steps and/or actions of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a machine readable medium and/or computer readable medium, which may be incorporated into a computer program product.
In one or more aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage medium may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection may be termed a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc where disks usually reproduce data magnetically, while discs usually reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
While the foregoing disclosure discusses illustrative aspects and/or implementations, it should be noted that various changes and modifications could be made herein without departing from the scope of the described aspects and/or implementations as defined by the appended claims. Furthermore, although elements of the described aspects and/or implementations may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated. Additionally, all or a portion of any aspect and/or implementation may be utilized with all or a portion of any other aspect and/or implementation, unless stated otherwise.
The present Application for Patent claims priority to Provisional Application No. 61/312,230 entitled “SYSTEM AND METHOD FOR MOBILE-TO-COMPUTER COMMUNICATION” filed Mar. 9, 2010, and assigned to the assignee hereof and hereby expressly incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
61312230 | Mar 2010 | US |