WO2014143321A1 - Improved techniques for wireless network service discovery - Google Patents
Improved techniques for wireless network service discovery Download PDFInfo
- Publication number
- WO2014143321A1 WO2014143321A1 PCT/US2013/076931 US2013076931W WO2014143321A1 WO 2014143321 A1 WO2014143321 A1 WO 2014143321A1 US 2013076931 W US2013076931 W US 2013076931W WO 2014143321 A1 WO2014143321 A1 WO 2014143321A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- service
- name
- bit
- wireless network
- hash function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/18—Selecting a network or a communication service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
Definitions
- Embodiments described herein generally relate to communications over wireless networks. More particularly, embodiments described herein generally relate to wireless network service discovery operations.
- any particular wireless device may employ service discovery techniques to become aware of services provided by other wireless devices in the wireless network.
- a wireless device may transmit data, such as scan frames, that comprises information indicating services or types of services that it seeks to locate.
- data such as scan frames
- Service discovery overhead may be significant when long service names are repeatedly transmitted, and may result in degraded network performance.
- FIG. 1 illustrates an embodiment of an operating environment.
- FIG. 2 illustrates an embodiment of a first apparatus and an embodiment of a first system.
- FIG. 3 illustrates an embodiment of a second apparatus and an embodiment of a second system.
- FIG. 4 illustrates an embodiment of a first logic flow.
- FIG. 5 illustrates an embodiment of a second logic flow.
- FIG. 6 illustrates an embodiment of a storage medium.
- FIG. 7 illustrates an embodiment of a computing architecture.
- an apparatus may comprise a processor circuit, a management component for execution by the processor circuit to determine a service name for a service in a wireless network and determine a service ID for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service, and a mapping component for execution by the processor circuit to generate service ID mapping information to map the service ID to the service name.
- a management component for execution by the processor circuit to determine a service name for a service in a wireless network and determine a service ID for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service
- a mapping component for execution by the processor circuit to generate service ID mapping information to map the service ID to the service name.
- FIG. 1 illustrates a wireless network 100 that comprises an example of an operating environment of various embodiments.
- wireless devices 102, 104, and 106 and administration device 110 communicate over wireless network 100.
- wireless network 100 may comprise a wireless network operating according to one or more Wi- Fi Alliance (WFA) standards.
- WFA Wi- Fi Alliance
- wireless network 100 may operate according to the WFA Wi-Fi Direct standard, 2010 Release.
- WFA Wi-Fi Direct standard 2010 Release.
- wireless network 100 may comprise a Wi-Fi P2P wireless network, a wireless network operating according to one or more Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, or a wireless network operating according to any other wireless communications protocol.
- IEEE Institute of Electrical and Electronics Engineers
- wireless network 100 may comprise a Wi-Fi P2P wireless network, a wireless network operating according to one or more Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, or a wireless network operating according to any other wireless communications protocol.
- IEEE Institute of Electrical and Electronics Engineers
- wireless devices 102, 104, and 106 may provide respective services 103, 105, and 107 for use by each other and/or by other wireless devices in wireless network 100.
- Services 103, 105, and 107 may comprise applications, functions, operations, and/or other types of services. Examples of services 103, 105, and 107 may include operations such as printing operations, applications such as gaming applications and social networking applications, functions such as Send and Receive functions, and/or other types of services.
- wireless network 100 comprises a Wi-Fi Direct wireless network
- services 103, 105, and 107 may comprise Direct Services.
- each of services 103, 105, and 107 may have an associated service name. For example, in an embodiment in which service 103 comprises a "Tic-Tac-Toe" gaming application, its associated service name may be "TicTacToe.Game.Apps.” The embodiments are not limited in this context.
- one or more of services 103, 105, and 107 may comprise universally administered services.
- Universally administered services may comprise services that are registered with an administration device, such that the administration device maintains awareness of those services and their corresponding service names.
- Wireless devices in the network may become aware of universally administered services by performing service discovery through the administration device.
- services 103 and 105 may comprise universally administered services.
- Administration device 110 may manage universally administered service information 112 that comprises information describing services 103 and 105, such as their service names.
- Wireless device 106 may become aware of services 103 and 105 by communicating with administration device 110.
- wireless device 104 may become aware of service 103 by communicating with administration device 110, and wireless device 102 may become aware of service 105 by communicating with administration device 110.
- the embodiments are not limited in this context.
- one or more of services 103, 105, and 107 may comprise locally administered services.
- Locally administered services may comprise services that are not registered with an administration device.
- Wireless devices in the network may become aware of locally administered services by performing service discovery through the wireless devices that provide those services.
- service 107 may comprise a locally administered service, and wireless devices 102 and 104 may become aware of services 107 by communicating with wireless device 106.
- the embodiments are not limited in this context.
- the service names for services such as services 103, 105, and 107 of FIG. 1 may be relatively long.
- service names may be in a Domain Name System (DNS) string format of 64 octets in length.
- DNS Domain Name System
- IDs short Service Identifiers
- the Service IDs may be 6 octets in length.
- a Service ID may be generated for each service name, and may be used in lieu of that service name during service discovery communications.
- An advantage of some embodiments may be that by generating Service IDs and utilizing them in lieu of service names during service discovery communications, network overhead may be significantly reduced.
- Other advantages may be associated with the disclosed subject matter, and the embodiments are not limited in this context.
- FIG. 2 illustrates a block diagram for an apparatus 200 that may comprise an example of an administration device 110 of FIG. 1 in various embodiments.
- apparatus 200 may comprise a Service ID Administrator device communicating over a wireless network 100 comprising a Wi-Fi Direct wireless network.
- a Service ID Administrator device communicating over a wireless network 100 comprising a Wi-Fi Direct wireless network.
- the apparatus 200 shown in FIG. 2 has a limited number of elements in a certain topology, it may be appreciated that the apparatus 200 may include more or less elements in alternate topologies as desired for a given implementation. The embodiments are not limited in this context.
- the apparatus 200 may comprise a computer-implemented apparatus 200 having a processor circuit 202 arranged to execute one or more software components 220-a.
- the apparatus 200 may comprise the processor circuit 202.
- the processor circuit 202 may be generally arranged to execute one or more software components 220-a.
- the processor circuit 202 may be any of various commercially available processors, including without limitation an AMD® Athlon®, Duron® and Opteron® processors; ARM® application, embedded and secure processors; IBM® and Motorola® DragonBall® and PowerPC® processors; IBM and Sony® Cell processors; Intel® Celeron®, Core (2) Duo®, Core i3, Core i5, Core i7, Itanium®, Pentium®, Xeon®, and XScale® processors; and similar processors. Dual microprocessors, multi-core processors, and other multi-processor architectures may also be employed as the processor circuit 202.
- the apparatus 200 may comprise a memory unit 204.
- Memory unit 204 may be implemented using any machine-readable or computer-readable media capable of storing data, including both volatile and non- volatile memory.
- memory unit 204 may include read-only memory (ROM), random-access memory (RAM), dynamic RAM (DRAM), Double- Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, polymer memory such as ferroelectric polymer memory, ovonic memory, phase change or ferroelectric memory, silicon-oxide-nitride-oxide- silicon (SONOS) memory, magnetic or optical cards, or any other type of media suitable for storing information.
- ROM read-only memory
- RAM random-access memory
- DRAM dynamic RAM
- DDRAM Double- Data-Rate DRAM
- SDRAM synchronous DRAM
- SRAM static RAM
- memory unit 204 may be included on the same integrated circuit as processor circuit 202, or alternatively some portion or all of memory unit 204 may be disposed on an integrated circuit or other medium, for example a hard disk drive, that is external to the integrated circuit of processor circuit 202.
- memory unit 204 is comprised within apparatus 200 in FIG. 2, memory unit 204 may be external to apparatus 200 in some embodiments. The embodiments are not limited in this context.
- the apparatus 200 may comprise a management component 220-1.
- management component 220- 1 may be arranged for execution by the processor circuit 202 to assign Service IDs to universally administered services in wireless network 100.
- the Service IDs may be of smaller size than service names for the universally administered services.
- the universally administered services may have service names in a DNS name format of 64 octets in length, while the corresponding service IDs may be 6 octets in length.
- the apparatus 200 may comprise a mapping component 220-2.
- mapping component 220-2 may be arranged for execution by the processor circuit 202 to maintain Service ID mapping information 222.
- Service ID mapping information 222 may comprise information indicating a mapping of service names to Service IDs for universally administered services in network 100. In some embodiments, for a given Service ID, Service ID mapping information 222 may indicate a service name for a service identified by the Service ID. In various embodiments, apparatus 200 may be operative to store Service ID mapping information 222 in memory unit 204. The embodiments are not limited in this context.
- FIG. 2 may also illustrate one embodiment of a system 240.
- System 240 may comprise apparatus 200 and transceiver 244.
- Transceiver 244 may comprise one or more radios capable of transmitting and receiving signals using various suitable wireless communications techniques. Such techniques may involve communications across one or more wireless networks.
- Exemplary wireless networks include (but are not limited to) wireless local area networks (WLANs), wireless personal area networks (WPANs), wireless metropolitan area network (WMANs), cellular networks, and satellite networks.
- transceiver 244 may operate in accordance with one or more applicable standards in any version.
- transceiver 244 may operate in accordance with a Wi-Fi Direct standard. The embodiments are not limited in this context.
- apparatus 200 and/or system 240 may be operative to generate Service IDs for universally administered services in wireless network 100, and to maintain Service ID mapping information 222 that enables the determination of the service name associated with each generated Service ID.
- wireless device 102 may be operative to register service 103 with apparatus 200 and/or system 240.
- apparatus 200 and/or system 240 may be operative to receive service name 224 from wireless device 102.
- Service name 224 may comprise a service name for service 103, which may comprise a universally administered service.
- service name 224 may comprise a relatively long string.
- service name 224 may comprise a service name string in a DNS name format of 64 octets in length.
- service name 224 may comprise the string "TicTacToe.Game.Apps.” The embodiments are not limited to this example.
- management component 220- 1 may be operative to assign a Service ID 226 to service 103.
- management component 220-1 may be operative to assign Service ID 226 to service 103 such that Service ID 226 is unique among the Service IDs for universally administered services of wireless network 100.
- management component 220-1 may be operative to assign Service ID 226 based on Service ID mapping information 222.
- management component 220- 1 may be operative to process Service ID mapping information 222 to determine Service IDs that are already in use, and may be operative to assign a Service ID 226 that is different than any Service ID currently in use.
- Service ID 226 may comprise a relatively short value.
- Service ID 226 may comprise a string or value of 6 octets in length. The embodiments are not limited in this context.
- management component 220- 1 may be operative to generate a Service ID 226 comprising a universal/local administration (U/L) bit 228.
- U/L universal/local administration
- U/L bit 228 may comprise a bit indicating whether the service 103 identified by Service ID 226 is universally or locally administered. For example, in various embodiments, a value of "0" for U/L bit 228 may indicate a service that is universally administered, while a value of "1" may indicate a service that is locally administered. In other embodiments, a value of "1" may indicate a service that is universally administered, while a value of "0” may indicate a service that is locally administered. In some embodiments, U/L bit 228 may comprise a first bit of Service ID 226, a last bit of Service ID 226, or any other bit of Service ID 226.
- management component 220-1 may be operative to generate Service ID 226 such that U/L bit 228 has a value indicating that service 103 is a universally administered service.
- service name 224 comprises the string "TicTacToe.Game.Apps”
- management component 220-1 may be operative to generate a Service ID 226 comprising the hexadecimal value "0000 0000 0003,” where a value of "0" in the first bit indicates that service 103 is a universally administered service.
- the embodiments are not limited to this example.
- mapping component 220-2 may be operative to map the service name 224 to the assigned Service ID 226 for service 103. In various embodiments, mapping component 220-2 may be operative to map service name 224 to Service ID 226 by creating a Service ID mapping entry 223 in Service ID mapping information 222. Service ID mapping entry 223 may comprise information indicating that Service ID 226 refers to the universally administered service to which service name 224 corresponds.
- Service ID mapping entry 223 may comprise information indicating that the Service ID "0000 0000 0003" refers to that application and corresponds to the service name "TicTacToe.Game.Apps.”
- the embodiments are not limited to this example.
- wireless device 104 may wish to utilize the service 103 provided by wireless device 102.
- wireless device 104 may be operative to scan for service 103 based on its Service ID 226.
- wireless device 104 may be operative to communicate with apparatus 200 and/or system 240, and to determine the Service ID 226 for service 103 based on Service ID mapping entry 223.
- wireless device 104 may send a Service ID query identifying service name 224 to apparatus 200 and/or system 240, and management component 220-1 may identify the Service ID 226 based on Service ID mapping entry 223 and send the Service ID 226 to wireless device 104 in response to the Service ID query.
- Wireless device 104 may then be operative to scan for service 103 based on the Service ID 226 identified by Service ID mapping entry 223. For example, in various embodiments, wireless device 104 may be operative to broadcast a scan frame 230 comprising Service ID 226 and wireless device 102 may be operative to respond to that scan frame 230. In some embodiments, the use of Service ID 226 may enable wireless device 104 to conserve power, bandwidth, and/or other transmission resources, because the size of scan frame 230 may be reduced relative to conventional approaches in which service names are included in scan frames. The embodiments are not limited in this context.
- FIG. 3 illustrates a block diagram for an apparatus 300 that may comprise an example of a wireless device that provides a locally administered service, such as wireless device 106 of FIG. 1.
- apparatus 300 may comprise a wireless station (STA)
- STA wireless station
- a wireless network 100 comprising a Wi-Fi Direct wireless network.
- the apparatus 300 shown in FIG. 3 has a limited number of elements in a certain topology, it may be appreciated that the apparatus 300 may include more or less elements in alternate topologies as desired for a given implementation. The embodiments are not limited in this context.
- the apparatus 300 may comprise a computer-implemented apparatus 300 having a processor circuit 302 arranged to execute one or more software components 320- .
- the processor circuit 302 may be any of various commercially available processors, and may be the same as or similar to processor circuit 202 of FIG. 2.
- the apparatus 300 may comprise a memory unit 304.
- Memory unit 304 may be implemented using any machine-readable or computer-readable media capable of storing data, including both volatile and non- volatile memory, and may be the same as or similar to memory unit 204 of FIG. 2. It is worthy of note that some portion or all of memory unit 304 may be included on the same integrated circuit as processor circuit 302, or alternatively some portion or all of memory unit 304 may be disposed on an integrated circuit or other medium, for example a hard disk drive, that is external to the integrated circuit of processor circuit 302. Although memory unit 304 is comprised within apparatus 300 in FIG. 3, memory unit 304 may be external to apparatus 300 in some embodiments. The embodiments are not limited in this context.
- the apparatus 300 may comprise a determination component 320-1. In some embodiments,
- determination component 320-1 may be arranged for execution by the processor circuit 302 to determine Service IDs for locally administered services of apparatus 300.
- the Service IDs may be of smaller size than service names for the locally administered services.
- the locally administered services may have service names in a DNS name format of 64 octets in length, while the corresponding service IDs may be 6 octets in length. The embodiments are not limited to this example.
- the apparatus 300 may comprise a mapping component 320-2.
- mapping component 320-2 may be arranged for execution by the processor circuit 302 to maintain Service ID mapping information 322.
- Service ID mapping information 322 may comprise information indicating a mapping of service names to Service IDs for locally administered services of apparatus 300.
- Service ID mapping information 322 may indicate a service name for a service identified by the Service ID.
- apparatus 300 may be operative to store Service ID mapping information 322 in memory unit 304. The embodiments are not limited in this context.
- FIG. 3 may also illustrate one embodiment of a system 340.
- System 340 may comprise apparatus 300 and transceiver 344.
- Transceiver 344 may comprise one or more radios capable of transmitting and receiving signals using various suitable wireless communications techniques, and may be the same as or similar to transceiver 244 of FIG. 2. The embodiments are not limited in this context.
- apparatus 300 and/or system 340 may be operative to generate a Service ID 326 for a service 307, and to maintain Service ID mapping information 322 that enables the determination of the Service ID 326 associated with service 307.
- service 307 may comprise a locally administered service provided by apparatus 300 and/or system 340.
- service name 324 may comprise a service name for service 307.
- service name 324 may comprise a relatively long string.
- service name 324 may comprise a service name string in a DNS name format of 64 octets in length.
- service name 324 may comprise the string "MyFace. SocialNetwork.Apps.” The embodiments are not limited to this example.
- determination component 320-1 may be operative to determine a Service ID 326 for service 307.
- Service ID 326 may comprise a relatively short value.
- Service ID 326 may comprise a string or value of 6 octets in length.
- Service ID 326 may comprise a universal/local administration (U/L) bit 328.
- U/L bit 328 may comprise a bit indicating whether the service 307 identified by Service ID 326 is universally or locally administered, and may be the same as or similar to U/L bit 228 of FIG. 2.
- determination component 320- 1 may be operative to determine Service ID 326 such that U/L bit 328 has a value indicating that service 307 is a locally administered service. The embodiments are not limited in this context.
- determination component 320-1 may be operative to determine Service ID 326 according to a hashing algorithm 321.
- Hashing algorithm 321 may comprise an algorithm for converting a string such as service name 324 into a shorter string, bit sequence, or value.
- hashing algorithm 321 may be selected based on the defined lengths of service name 324 and Service ID 326. For example, in various embodiments in which a defined format for service name 324 comprises 64 octets and a defined format for Service ID 326 comprises 6 octets including U/L bit 328, a hashing algorithm 321 may be selected that is capable of converting 64 octet strings into 47 bit values.
- Examples of hashing algorithm 321 may include an SHA-1 hash function, an SHA-256 hash function, an SHA-512 hash function, or any other suitable type of hashing algorithm. The embodiments are not limited to these examples.
- determination component 320-1 may be operative to hash service name 324 according to hashing algorithm 321, and to append U/L bit 328 to the result to obtain Service ID 326.
- service name 324 comprises the string "MyFace.SocialNetwork.Apps”
- determination component 320-1 may be operative to determine a Service ID 326 comprising the hexadecimal value "AF71 C289 EE01,” where the value of "1" in the first bit indicates that service 307 is a locally administered service, and the remaining 47 bits comprise the result produced by hashing algorithm 321.
- An advantage of various embodiments may be that by determining Service ID 326 by hashing service name 324, the probability of determining a Service ID 326 that matches that determined for a different service with a different service name may be minimized. For example, if a defined format for Service ID 326 comprises 47 bits plus U/L bit 328, the odds that a second, different service name will also hash to Service ID 326 will generally be approximately 1 in 2 47 As such, the use of hashing algorithm 321 allows the generation of a Service ID 326 that will be extremely likely to be unique within wireless network 100, even though that Service ID 326 is generated without consultation of the Service IDs for other services in wireless network 100. The embodiments are not limited in this context.
- mapping component 320-2 may be operative to map the service name 324 to the determined Service ID 326 for service 307.
- mapping component 320-2 may be operative to map service name 324 to Service ID 326 by creating a Service ID mapping entry 323 in Service ID mapping information 322.
- Service ID mapping entry 323 may comprise information indicating that Service ID 326 refers to the locally administered service to which service name 324 corresponds.
- Service ID mapping entry 323 may comprise information indicating that the Service ID "AF71 C289 EE01" refers to that application and corresponds to the service name "MyFace.SocialNetwork.Apps.” The embodiments are not limited to this example.
- wireless device 104 may comprise a device that also provides service 307. In various embodiments, wireless device may which to determine other wireless devices in wireless network 100 that provide service 307. In some embodiments, rather than scanning for such wireless devices using the service name 324 of service 307, wireless device 104 may be operative to scan for wireless devices providing service 307 based on the Service ID 326 for service 307. For example, in various embodiments, wireless device may be operative to determine Service ID 326 using hashing algorithm 321, and may then be operative to broadcast a scan frame 330 comprising Service ID 326.
- Processor circuit 302 of apparatus 300 and/or system 340 may then be operative to determine that apparatus 300 and/or system 340 provides service 307 based on Service ID mapping entry 323, and may respond to wireless device 104 with a message indicating that service 307 is locally available.
- Service ID 326 may enable wireless device 104 to conserve power, bandwidth, and/or other transmission resources, because the size of scan frame 330 may be reduced relative to conventional approaches in which service names are included in scan frames. The embodiments are not limited in this context.
- a logic flow may be implemented in software, firmware, and/or hardware. In software and firmware embodiments, a logic flow may be implemented by computer executable instructions stored on a non-transitory computer readable medium or machine readable medium, such as an optical, magnetic or semiconductor storage. The embodiments are not limited in this context.
- FIG. 4 illustrates one embodiment of a logic flow 400, which may be representative of the operations executed by one or more embodiments described herein.
- FIG. 4 may be representative of the operations executed by apparatus 200 and/or system 240 of FIG. 2 according to various embodiments.
- a service name of a universally administered service may be received at 402.
- apparatus 200 and/or system 240 of FIG. 2 may receive service name 224 corresponding to service 103 from wireless device 102.
- a unique Service ID may be assigned to the universally administered service identified by the service name.
- management component 220-1 of FIG. 2 may be operative to assign a unique Service ID 226 to service 103.
- the Service ID may be mapped to the service name for the universally administered service.
- mapping component 220-2 of FIG. 2 may be operative to create a Service ID mapping entry 223 in Service ID mapping information 222 that indicates that Service ID 226 corresponds to service name 224 and service 103.
- the embodiments are not limited to these examples.
- FIG. 5 illustrates one embodiment of a logic flow 500, which may be representative of the operations executed by one or more embodiments described herein.
- FIG. 5 may be representative of the operations executed by apparatus 300 and/or system 340 of FIG. 3 according to some embodiments.
- a service name of a locally administered service may be determined at 502.
- determination component 320-1 of FIG. 3 may be operative to determine a service name 324 of a locally administered service 307.
- a hash value may be obtained by hashing the service name according to a hashing algorithm.
- determination component 320- 1 of FIG. 3 may be operative to determine a hash value by hashing service name 324 according to hashing algorithm 321.
- a Service ID for the locally administered service may be determined by appending a U/L bit to the hash value.
- determination component 320- 1 of FIG. 3 may be operative to determine Service ID 326 by appending U/L bit 328 to the hash value, and U/L bit 328 may indicate that service 307 is a locally administered service.
- the Service ID may be mapped to the service name.
- mapping component 320-2 of FIG. 3 may be operative to create a Service ID mapping entry 323 in Service ID mapping information 322 that indicates that Service ID 326 corresponds to service name 324 and locally administered service 307.
- FIG. 6 illustrates an embodiment of a storage medium 600.
- the storage medium 600 may comprise an article of manufacture.
- the storage medium 600 may comprise any non-transitory computer readable medium or machine readable medium, such as an optical, magnetic or semiconductor storage.
- the storage medium may store various types of computer executable instructions, such as instructions to implement one or both of logic flows 400 and 500.
- Examples of a computer readable or machine readable storage medium may include any tangible media capable of storing electronic data, including volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth.
- Examples of computer executable instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, object-oriented code, visual code, and the like. The embodiments are not limited in this context.
- FIG. 7 illustrates an embodiment of a communications device 700 for use in a wireless network such as wireless network 100 of FIG. 1.
- Device 700 may implement, for example, apparatus 200, system 240, apparatus 300, system 340, storage medium 600 and/or a logic circuit 728.
- the logic circuit 728 may include physical circuits to perform operations described for apparatus 200 or apparatus 300, for example.
- device 700 may include a radio interface 710, baseband circuitry 720, and computing platform 730, although the embodiments are not limited to this configuration.
- the device 700 may implement some or all of the structure and/or operations for the apparatus 200, system 240, apparatus 300, system 340, storage medium 600 and/or logic circuit 728 in a single computing entity, such as entirely within a single device.
- the device 700 may distribute portions of the structure and/or operations for the apparatus 200, system 240, apparatus 300, system 340, storage medium 600 and/or logic circuit 728 across multiple computing entities using a distributed system architecture, such as a client- server architecture, a 3 -tier architecture, an N-tier architecture, a tightly-coupled or clustered architecture, a peer-to-peer architecture, a master- slave architecture, a shared database architecture, and other types of distributed systems.
- a distributed system architecture such as a client- server architecture, a 3 -tier architecture, an N-tier architecture, a tightly-coupled or clustered architecture, a peer-to-peer architecture, a master- slave architecture, a shared database architecture, and other types of distributed systems.
- the embodiments are not limited
- radio interface 710 may include a component or combination of components adapted for transmitting and/or receiving single carrier or multi-carrier modulated signals (e.g., including complementary code keying (CCK) and/or orthogonal frequency division multiplexing (OFDM) symbols) although the embodiments are not limited to any specific over- the-air interface or modulation scheme.
- Radio interface 710 may include, for example, a receiver 712, a frequency synthesizer 714, and/or a transmitter 716.
- Radio interface 710 may include bias controls, a crystal oscillator and/or one or more antennas 718-/.
- radio interface 710 may use external voltage-controlled oscillators (VCOs), surface acoustic wave filters, intermediate frequency (IF) filters and/or RF filters, as desired. Due to the variety of potential RF interface designs an expansive description thereof is omitted.
- VCOs voltage-controlled oscillators
- IF intermediate frequency
- Baseband circuitry 720 may communicate with radio interface 710 to process receive and/or transmit signals and may include, for example, an analog-to-digital converter 722 for down converting received signals, a digital-to-analog converter 724 for up converting signals for transmission. Further, baseband circuitry 720 may include a baseband or physical layer (PHY) processing circuit 726 for PHY link layer processing of respective receive/transmit signals. Baseband circuitry 720 may include, for example, a medium access control (MAC) processing circuit 727 for MAC/data link layer processing. Baseband circuitry 720 may include a memory controller 732 for communicating with MAC processing circuit 727 and/or a computing platform 730, for example, via one or more interfaces 734.
- PHY physical layer
- PHY processing circuit 726 may include a frame construction and/or detection module, in combination with additional circuitry such as a buffer memory, to construct and/or deconstruct communication frames.
- MAC processing circuit 727 may share processing for certain of these functions or perform these processes independent of PHY processing circuit 726.
- MAC and PHY processing may be integrated into a single circuit.
- the computing platform 730 may provide computing functionality for the device 700. As shown, the computing platform 730 may include a processing component 740. In addition to, or alternatively of, the baseband circuitry 720, the device 700 may execute processing operations or logic for the apparatus 200, system 240, apparatus 300, system 340, storage medium 600, and/or logic circuit 728 using the processing component 740.
- the processing component 740 (and/or PHY 726 and/or MAC 727) may comprise various hardware elements, software elements, or a combination of both.
- Examples of hardware elements may include devices, logic devices, components, processors, microprocessors, circuits, processor circuits (e.g., processor circuit 120), circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), memory units, logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth.
- ASIC application specific integrated circuits
- PLD programmable logic devices
- DSP digital signal processors
- FPGA field programmable gate array
- Examples of software elements may include software components, programs, applications, computer programs, application programs, system programs, software development programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints, as desired for a given implementation.
- the computing platform 730 may further include other platform components 750.
- Other platform components 750 include common computing elements, such as one or more processors, multi-core processors, co-processors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, audio cards, multimedia input/output (I/O) components (e.g., digital displays), power supplies, and so forth.
- processors multi-core processors
- co-processors such as one or more processors, multi-core processors, co-processors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, audio cards, multimedia input/output (I/O) components (e.g., digital displays), power supplies, and so forth.
- I/O multimedia input/output
- Examples of memory units may include without limitation various types of computer readable and machine readable storage media in the form of one or more higher speed memory units, such as read-only memory (ROM), random- access memory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDR AM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, polymer memory such as ferroelectric polymer memory, ovonic memory, phase change or ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or optical cards, an array of devices such as Redundant Array of Independent Disks (RAID) drives, solid state memory devices (e.g., USB memory, solid state drives (SSD) and any other type of storage media suitable for storing information.
- ROM read-only memory
- RAM random- access memory
- DRAM dynamic RAM
- DDR AM
- Device 700 may be, for example, an ultra-mobile device, a mobile device, a fixed device, a machine-to-machine (M2M) device, a personal digital assistant (PDA), a mobile computing device, a smart phone, a telephone, a digital telephone, a cellular telephone, user equipment, eBook readers, a handset, a one-way pager, a two-way pager, a messaging device, a computer, a personal computer (PC), a desktop computer, a laptop computer, a notebook computer, a netbook computer, a handheld computer, a tablet computer, a server, a server array or server farm, a web server, a network server, an Internet server, a work station, a mini-computer, a main frame computer, a supercomputer, a network appliance, a web appliance, a distributed computing system, multiprocessor systems, processor-based systems, consumer electronics, programmable consumer electronics, game devices, television, digital television, set top box, wireless access point, base station, node B, subscribe
- device 700 may be included or omitted in various embodiments of device 700, as suitably desired.
- Embodiments of device 700 may be implemented using single input single output (SISO) architectures.
- certain implementations may include multiple antennas (e.g., antennas 718-/) for transmission and/or reception using adaptive antenna techniques for beamforming or spatial division multiple access (SDMA) and/or using MIMO communication techniques.
- SISO single input single output
- SDMA spatial division multiple access
- device 700 may be implemented using any combination of discrete circuitry, application specific integrated circuits (ASICs), logic gates and/or single chip architectures. Further, the features of device 700 may be implemented using microcontrollers, programmable logic arrays and/or microprocessors or any combination of the foregoing where suitably appropriate. It is noted that hardware, firmware and/or software elements may be collectively or individually referred to herein as “logic” or “circuit.”
- exemplary device 700 shown in the block diagram of FIG. 7 may represent one functionally descriptive example of many potential implementations.
- Example 1 is at least one machine-readable medium comprising a plurality of service administration instructions that, in response to being executed on a computing device, cause the computing device to determine a service name for a service in a wireless network, determine a service identifier (ID) for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service, and generate service ID mapping information to map the service ID to the service name.
- ID service identifier
- Example 2 the service ID of Example 1 may optionally comprise a universal/local administration (U/L) bit indicating that the service comprises one of a universally administered service or a locally administered service.
- U/L universal/local administration
- Example 3 the service of Example 2 may optionally comprise a universally
- the U/L bit may optionally comprise a value indicating that the service comprises a universally administered service.
- the at least one machine-readable medium of Example 3 may optionally comprise service administration instructions that, in response to being executed on the computing device, cause the computing device to determine the service ID for the service such that the service ID is unique within the wireless network.
- Example 5 the at least one machine-readable medium of any one of Examples 3 to 4 may optionally comprise service administration instructions that, in response to being executed on the computing device, cause the computing device to receive a service ID query identifying the service name, and send the service ID in response to the service ID query.
- Example 6 the service of Example 2 may optionally comprise a locally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a locally administered service.
- Example 7 the at least one machine-readable medium of Example 6 may optionally comprise service administration instructions that, in response to being executed on the computing device, cause the computing device to generate a hash value for the service name based on a hash function, and generate the service ID based on the hash value.
- the at least one machine-readable medium of Example 7 may optionally comprise service administration instructions that, in response to being executed on the computing device, cause the computing device to generate the service ID by appending the U/L bit to the hash value.
- Example 9 the hash function of any one of Examples 7 to 8 may optionally comprise a Secure Hash Algorithm 1 (SHA-1) hash function, an SHA-256 hash function, or an SHA-512 hash function.
- SHA-1 Secure Hash Algorithm 1
- SHA-256 hash function an SHA-256 hash function
- SHA-512 hash function an SHA-512 hash function
- the at least one machine-readable medium of any one of Examples 7 to 9 may optionally comprise service administration instructions that, in response to being executed on the computing device, cause the computing device to receive a scan frame comprising the service ID, and send a message indicating that the service is locally available in response to the scan frame.
- Example 11 the wireless network of any one of Examples 1 to 10 may optionally comprise a Wi-Fi Direct network.
- Example 12 the service name of any one of Examples 1 to 11 may optionally comprise a domain name system (DNS) string format.
- DNS domain name system
- Example 13 the service name of any one of Examples 1 to 12 may optionally comprise 64 octets.
- Example 14 the service ID of any one of Examples 1 to 13 may optionally comprise 6 octets.
- Example 15 the U/L bit of any one of Examples 1 to 14 may optionally comprise a first bit of the service ID.
- Example 16 the U/L bit of any one of Examples 1 to 15 may optionally comprise a last bit of the service ID.
- Example 17 is a service administration apparatus, comprising a processor circuit, a management component for execution by the processor circuit to determine a service name for a service in a wireless network and determine a service identifier (ID) for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service, and a mapping component for execution by the processor circuit to generate service ID mapping information to map the service ID to the service name.
- ID service identifier
- Example 18 the service ID of Example 17 may optionally comprise a universal/local administration (U/L) bit indicating that the service comprises one of a universally administered service or a locally administered service.
- U/L universal/local administration
- Example 19 the service of Example 18 may optionally comprise a universally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a universally administered service.
- Example 20 the management component of Example 19 may optionally be for execution by the processor circuit to determine the service ID for the service such that the service ID is unique within the wireless network.
- Example 21 the management component of any one of Examples 19 to 20 may optionally be for execution by the processor circuit to receive a service ID query identifying the service name and send the service ID in response to the service ID query.
- Example 22 the service of Example 18 may optionally comprise a locally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a locally administered service.
- Example 23 the management component of Example 22 may optionally be for execution by the processor circuit to generate a hash value for the service name based on a hash function and generate the service ID based on the hash value.
- Example 24 the management component of Example 23 may optionally be for execution by the processor circuit to generate the service ID by appending the U/L bit to the hash value.
- Example 25 the hash function of any one of Examples 23 to 24 may optionally comprise a Secure Hash Algorithm 1 (SHA-1) hash function, an SHA-256 hash function, or an SHA-512 hash function.
- SHA-1 Secure Hash Algorithm 1
- SHA-256 hash function an SHA-256 hash function
- SHA-512 hash function an SHA-512 hash function
- Example 26 the management component of any one of Examples 23 to 25 may optionally be for execution by the processor circuit to receive a scan frame comprising the service ID and send a message indicating that the service is locally available in response to the scan frame.
- Example 27 the wireless network of any one of Examples 17 to 26 may optionally comprise a Wi-Fi Direct network.
- Example 28 the service name of any one of Examples 17 to 27 may optionally comprise a domain name system (DNS) string format.
- DNS domain name system
- Example 29 the service name of any one of Examples 17 to 28 may optionally comprise 64 octets.
- Example 30 the service ID of any one of Examples 17 to 29 may optionally comprise 6 octets.
- Example 31 the U/L bit of any one of Examples 17 to 30 may optionally comprise a first bit of the service ID.
- Example 32 the U/L bit of any one of Examples 17 to 31 may optionally comprise a last bit of the service ID.
- Example 33 is a system, comprising a service administration apparatus according to any one of Examples 17 to 32, a display, a radio frequency (RF) transceiver, and one or more RF antennas.
- a service administration apparatus according to any one of Examples 17 to 32, a display, a radio frequency (RF) transceiver, and one or more RF antennas.
- RF radio frequency
- Example 34 is a service administration method, comprising determining a service name for a service in a wireless network, determining a service identifier (ID) for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service, and generating service ID mapping information to map the service ID to the service name.
- ID service identifier
- Example 35 the service ID of Example 34 may optionally comprise a universal/local administration (U/L) bit indicating that the service comprises one of a universally administered service or a locally administered service.
- U/L universal/local administration
- Example 36 the service of Example 35 may optionally comprise a universally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a universally administered service.
- Example 37 the service administration method of Example 36 may optionally comprise determining the service ID for the service such that the service ID is unique within the wireless network.
- Example 38 the service administration method of any one of Examples 36 to 37 may optionally comprise receiving a service ID query identifying the service name, and sending the service ID in response to the service ID query.
- Example 39 the service of Example 35 may optionally comprise a locally administered service, the U/L bit may optionally comprise a value indicating that the service comprises a locally administered service.
- the service administration method of Example 39 may optionally comprise generating a hash value for the service name based on a hash function, and generating the service ID based on the hash value.
- Example 41 the service administration method of Example 40 may optionally comprise generating the service ID by appending the U/L bit to the hash value.
- Example 42 the hash function of any one of Examples 40 to 41 may optionally comprise a Secure Hash Algorithm 1 (SHA-1) hash function, an SHA-256 hash function, or an SHA-512 hash function.
- SHA-1 Secure Hash Algorithm 1
- SHA-256 hash function SHA-256 hash function
- SHA-512 hash function SHA-512 hash function
- Example 43 the service administration method of any one of Examples 40 to 42 may optionally comprise receiving a scan frame comprising the service ID, and sending a message indicating that the service is locally available in response to the scan frame.
- Example 44 the wireless network of any one of Examples 34 to 43 may optionally comprise a Wi-Fi Direct network.
- Example 45 the service name of any one of Examples 34 to 44 may optionally comprise a domain name system (DNS) string format.
- DNS domain name system
- Example 46 the service name of any one of Examples 34 to 45 may optionally comprise 64 octets.
- Example 47 the service ID of any one of Examples 34 to 46 may optionally comprise 6 octets.
- Example 48 the U/L bit of any one of Examples 34 to 47 may optionally comprise a first bit of the service ID.
- Example 49 the U/L bit of any one of Examples 34 to 48 may optionally comprise a last bit of the service ID.
- Example 50 is an apparatus, comprising means for performing a service administration method according to any one of Examples 34 to 49.
- Example 51 is a system, comprising an apparatus according to Example 50, a display, a radio frequency (RF) transceiver, and one or more RF antennas.
- RF radio frequency
- Example 52 is at least one machine-readable medium comprising a plurality of instructions that, in response to being executed on a computing device, cause the computing device to perform a service administration method according to any one of Examples 34 to 49.
- Example 53 is a communications device arranged to perform a service administration method according to any one of Examples 34 to 49.
- Example 54 is a service administration apparatus, comprising means for determining a service name for a service in a wireless network, means for determining a service identifier (ID) for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service, and means for generating service ID mapping information to map the service ID to the service name.
- ID service identifier
- Example 55 the service ID of Example 54 may optionally comprise a universal/local administration (U/L) bit indicating that the service comprises one of a universally administered service or a locally administered service.
- U/L universal/local administration
- Example 56 the service of Example 55 may optionally comprise a universally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a universally administered service.
- Example 57 the service administration apparatus of Example 56 may optionally comprise means for determining the service ID for the service such that the service ID is unique within the wireless network.
- Example 58 the service administration apparatus of any one of Examples 56 to 57 may optionally comprise means for receiving a service ID query identifying the service name, and means for sending the service ID in response to the service ID query.
- Example 59 the service of Example 55 may optionally comprise a locally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a locally administered service.
- the service administration apparatus of Example 59 may optionally comprise means for generating a hash value for the service name based on a hash function, and means for generating the service ID based on the hash value.
- Example 61 the service administration apparatus of Example 60 may optionally comprise means for generating the service ID by appending the U/L bit to the hash value.
- Example 62 the hash function of any one of Examples 60 to 61 may optionally comprise a Secure Hash Algorithm 1 (SHA-1) hash function, an SHA-256 hash function, or an SHA-512 hash function.
- SHA-1 Secure Hash Algorithm 1
- SHA-256 hash function an SHA-256 hash function
- SHA-512 hash function an SHA-512 hash function.
- Example 63 the service administration apparatus of any one of Examples 60 to 62 may optionally comprise means for receiving a scan frame comprising the service ID, and means for sending a message indicating that the service is locally available in response to the scan frame.
- Example 64 the wireless network of any one of Examples 54 to 63 may optionally comprise a Wi-Fi Direct network.
- Example 65 the service name of any one of Examples 54 to 64 may optionally comprise a domain name system (DNS) string format.
- DNS domain name system
- Example 66 the service name of any one of Examples 54 to 65 may optionally comprise 64 octets.
- Example 67 the service ID of any one of Examples 54 to 66 may optionally comprise 6 octets.
- Example 68 the U/L bit of any one of Examples 54 to 67 may optionally comprise a first bit of the service ID.
- Example 69 the U/L bit of any one of Examples 54 to 68 may optionally comprise a last bit of the service ID.
- Coupled may mean that two or more elements are in direct physical and/or electrical contact.
- coupled may also mean that two or more elements may not be in direct contact with each other, but yet may still cooperate and/or interact with each other.
- “coupled” may mean that two or more elements do not contact each other but are indirectly joined together via another element or intermediate elements.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
Techniques for wireless network service discovery are described. In some embodiments, for example, an apparatus may comprise a processor circuit, a management component for execution by the processor circuit to determine a service name for a service in a wireless network and determine a service ID for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service, and a mapping component for execution by the processor circuit to generate service ID mapping information to map the service ID to the service name. Other embodiments are described and claimed.
Description
IMPROVED TECHNIQUES FOR WIRELESS
NETWORK SERVICE DISCOVERY
RELATED CASE
This application claims priority to United States Provisional Patent Application Number 61/787,072, filed March 15, 2013, the entirety of which is hereby incorporated by reference.
TECHNICAL FIELD
Embodiments described herein generally relate to communications over wireless networks. More particularly, embodiments described herein generally relate to wireless network service discovery operations.
BACKGROUND
In wireless communications networks in which services are provided by multiple wireless devices, any particular wireless device may employ service discovery techniques to become aware of services provided by other wireless devices in the wireless network. In the course of performing service discovery, such a wireless device may transmit data, such as scan frames, that comprises information indicating services or types of services that it seeks to locate. The larger the amount of such information transmitted in a wireless network, the greater the overhead associated with service discovery. Service discovery overhead may be significant when long service names are repeatedly transmitted, and may result in degraded network performance.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates an embodiment of an operating environment.
FIG. 2 illustrates an embodiment of a first apparatus and an embodiment of a first system. FIG. 3 illustrates an embodiment of a second apparatus and an embodiment of a second system.
FIG. 4 illustrates an embodiment of a first logic flow.
FIG. 5 illustrates an embodiment of a second logic flow.
FIG. 6 illustrates an embodiment of a storage medium.
FIG. 7 illustrates an embodiment of a computing architecture. DETAILED DESCRIPTION
Various embodiments are generally directed to techniques for wireless network service discovery. In some embodiments, for example, an apparatus may comprise a processor circuit, a management component for execution by the processor circuit to determine a service name for a service in a wireless network and determine a service ID for the service, the service ID
comprising a number of bits that is less than a number of bits comprised in the service name for the service, and a mapping component for execution by the processor circuit to generate service ID mapping information to map the service ID to the service name. Other embodiments are described and claimed.
FIG. 1 illustrates a wireless network 100 that comprises an example of an operating environment of various embodiments. As shown in FIG. 1, wireless devices 102, 104, and 106 and administration device 110 communicate over wireless network 100. In some embodiments, wireless network 100 may comprise a wireless network operating according to one or more Wi- Fi Alliance (WFA) standards. For example, in various embodiments, wireless network 100 may operate according to the WFA Wi-Fi Direct standard, 2010 Release. In some other
embodiments, wireless network 100 may comprise a Wi-Fi P2P wireless network, a wireless network operating according to one or more Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, or a wireless network operating according to any other wireless communications protocol. The embodiments are not limited in this context.
In various embodiments, wireless devices 102, 104, and 106 may provide respective services 103, 105, and 107 for use by each other and/or by other wireless devices in wireless network 100. Services 103, 105, and 107 may comprise applications, functions, operations, and/or other types of services. Examples of services 103, 105, and 107 may include operations such as printing operations, applications such as gaming applications and social networking applications, functions such as Send and Receive functions, and/or other types of services. In embodiments in which wireless network 100 comprises a Wi-Fi Direct wireless network, services 103, 105, and 107 may comprise Direct Services. In some embodiments, each of services 103, 105, and 107 may have an associated service name. For example, in an embodiment in which service 103 comprises a "Tic-Tac-Toe" gaming application, its associated service name may be "TicTacToe.Game.Apps." The embodiments are not limited in this context.
In various embodiments, one or more of services 103, 105, and 107 may comprise universally administered services. Universally administered services may comprise services that are registered with an administration device, such that the administration device maintains awareness of those services and their corresponding service names. Wireless devices in the network may become aware of universally administered services by performing service discovery through the administration device. In the example of FIG. 1, services 103 and 105 may comprise universally administered services. Administration device 110 may manage universally administered service information 112 that comprises information describing services 103 and 105, such as their service names. Wireless device 106 may become aware of services
103 and 105 by communicating with administration device 110. Similarly, wireless device 104 may become aware of service 103 by communicating with administration device 110, and wireless device 102 may become aware of service 105 by communicating with administration device 110. The embodiments are not limited in this context.
In some embodiments, one or more of services 103, 105, and 107 may comprise locally administered services. Locally administered services may comprise services that are not registered with an administration device. Wireless devices in the network may become aware of locally administered services by performing service discovery through the wireless devices that provide those services. In the example of FIG. 1, service 107 may comprise a locally administered service, and wireless devices 102 and 104 may become aware of services 107 by communicating with wireless device 106. The embodiments are not limited in this context.
In various embodiments, the service names for services such as services 103, 105, and 107 of FIG. 1 may be relatively long. For example, in some embodiments, service names may be in a Domain Name System (DNS) string format of 64 octets in length. In wireless networks comprising large numbers of intercommunicating wireless devices, there may be substantial overhead associated with the repeated communication of long service names in the course of service discovery operations. In order to reduce this overhead, short Service Identifiers (IDs) may be generated that are significantly smaller than the service names. For example, in various embodiments, the Service IDs may be 6 octets in length. A Service ID may be generated for each service name, and may be used in lieu of that service name during service discovery communications. An advantage of some embodiments may be that by generating Service IDs and utilizing them in lieu of service names during service discovery communications, network overhead may be significantly reduced. Other advantages may be associated with the disclosed subject matter, and the embodiments are not limited in this context.
FIG. 2 illustrates a block diagram for an apparatus 200 that may comprise an example of an administration device 110 of FIG. 1 in various embodiments. In some embodiments, apparatus 200 may comprise a Service ID Administrator device communicating over a wireless network 100 comprising a Wi-Fi Direct wireless network. Although the apparatus 200 shown in FIG. 2 has a limited number of elements in a certain topology, it may be appreciated that the apparatus 200 may include more or less elements in alternate topologies as desired for a given implementation. The embodiments are not limited in this context.
The apparatus 200 may comprise a computer-implemented apparatus 200 having a processor circuit 202 arranged to execute one or more software components 220-a. It is worthy to note that "a" and "b" and "c" and similar designators as used herein are intended to be variables representing any positive integer. Thus, for example, if an implementation sets a value
for a = 5, then a complete set of software components 220-a may include components 220-1, 220-2, 220-3, 220-4 and 220-5. The embodiments are not limited in this context.
The apparatus 200 may comprise the processor circuit 202. The processor circuit 202 may be generally arranged to execute one or more software components 220-a. The processor circuit 202 may be any of various commercially available processors, including without limitation an AMD® Athlon®, Duron® and Opteron® processors; ARM® application, embedded and secure processors; IBM® and Motorola® DragonBall® and PowerPC® processors; IBM and Sony® Cell processors; Intel® Celeron®, Core (2) Duo®, Core i3, Core i5, Core i7, Itanium®, Pentium®, Xeon®, and XScale® processors; and similar processors. Dual microprocessors, multi-core processors, and other multi-processor architectures may also be employed as the processor circuit 202.
The apparatus 200 may comprise a memory unit 204. Memory unit 204 may be implemented using any machine-readable or computer-readable media capable of storing data, including both volatile and non- volatile memory. For example, memory unit 204 may include read-only memory (ROM), random-access memory (RAM), dynamic RAM (DRAM), Double- Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, polymer memory such as ferroelectric polymer memory, ovonic memory, phase change or ferroelectric memory, silicon-oxide-nitride-oxide- silicon (SONOS) memory, magnetic or optical cards, or any other type of media suitable for storing information. It is worthy of note that some portion or all of memory unit 204 may be included on the same integrated circuit as processor circuit 202, or alternatively some portion or all of memory unit 204 may be disposed on an integrated circuit or other medium, for example a hard disk drive, that is external to the integrated circuit of processor circuit 202. Although memory unit 204 is comprised within apparatus 200 in FIG. 2, memory unit 204 may be external to apparatus 200 in some embodiments. The embodiments are not limited in this context.
The apparatus 200 may comprise a management component 220-1. In some embodiments, management component 220- 1 may be arranged for execution by the processor circuit 202 to assign Service IDs to universally administered services in wireless network 100. In various embodiments, the Service IDs may be of smaller size than service names for the universally administered services. For example, in some embodiments, the universally administered services may have service names in a DNS name format of 64 octets in length, while the corresponding service IDs may be 6 octets in length. The embodiments are not limited to this example.
The apparatus 200 may comprise a mapping component 220-2. In various embodiments, mapping component 220-2 may be arranged for execution by the processor circuit 202 to maintain Service ID mapping information 222. Service ID mapping information 222 may comprise information indicating a mapping of service names to Service IDs for universally administered services in network 100. In some embodiments, for a given Service ID, Service ID mapping information 222 may indicate a service name for a service identified by the Service ID. In various embodiments, apparatus 200 may be operative to store Service ID mapping information 222 in memory unit 204. The embodiments are not limited in this context.
FIG. 2 may also illustrate one embodiment of a system 240. System 240 may comprise apparatus 200 and transceiver 244. Transceiver 244 may comprise one or more radios capable of transmitting and receiving signals using various suitable wireless communications techniques. Such techniques may involve communications across one or more wireless networks.
Exemplary wireless networks include (but are not limited to) wireless local area networks (WLANs), wireless personal area networks (WPANs), wireless metropolitan area network (WMANs), cellular networks, and satellite networks. In communicating across such networks, transceiver 244 may operate in accordance with one or more applicable standards in any version. In some embodiments, for example, transceiver 244 may operate in accordance with a Wi-Fi Direct standard. The embodiments are not limited in this context.
In general operation, apparatus 200 and/or system 240 may be operative to generate Service IDs for universally administered services in wireless network 100, and to maintain Service ID mapping information 222 that enables the determination of the service name associated with each generated Service ID.
In various embodiments, wireless device 102 may be operative to register service 103 with apparatus 200 and/or system 240. In some embodiments, in the course of registration, apparatus 200 and/or system 240 may be operative to receive service name 224 from wireless device 102. Service name 224 may comprise a service name for service 103, which may comprise a universally administered service. In various embodiments, service name 224 may comprise a relatively long string. For example, in some embodiments, service name 224 may comprise a service name string in a DNS name format of 64 octets in length. In an example embodiment in which service 103 comprises a Tic-Tac-Toe gaming application, service name 224 may comprise the string "TicTacToe.Game.Apps." The embodiments are not limited to this example.
In various embodiments, management component 220- 1 may be operative to assign a Service ID 226 to service 103. In some embodiments, management component 220-1 may be operative to assign Service ID 226 to service 103 such that Service ID 226 is unique among the Service IDs for universally administered services of wireless network 100. In various
embodiments, management component 220-1 may be operative to assign Service ID 226 based on Service ID mapping information 222. In some embodiments, management component 220- 1 may be operative to process Service ID mapping information 222 to determine Service IDs that are already in use, and may be operative to assign a Service ID 226 that is different than any Service ID currently in use. In various embodiments, Service ID 226 may comprise a relatively short value. For example, in some embodiments, Service ID 226 may comprise a string or value of 6 octets in length. The embodiments are not limited in this context.
In various embodiments, management component 220- 1 may be operative to generate a Service ID 226 comprising a universal/local administration (U/L) bit 228. In some
embodiments, U/L bit 228 may comprise a bit indicating whether the service 103 identified by Service ID 226 is universally or locally administered. For example, in various embodiments, a value of "0" for U/L bit 228 may indicate a service that is universally administered, while a value of "1" may indicate a service that is locally administered. In other embodiments, a value of "1" may indicate a service that is universally administered, while a value of "0" may indicate a service that is locally administered. In some embodiments, U/L bit 228 may comprise a first bit of Service ID 226, a last bit of Service ID 226, or any other bit of Service ID 226. In various embodiments, management component 220-1 may be operative to generate Service ID 226 such that U/L bit 228 has a value indicating that service 103 is a universally administered service. In the aforementioned example embodiment in which service name 224 comprises the string "TicTacToe.Game.Apps," management component 220-1 may be operative to generate a Service ID 226 comprising the hexadecimal value "0000 0000 0003," where a value of "0" in the first bit indicates that service 103 is a universally administered service. The embodiments are not limited to this example.
In some embodiments, mapping component 220-2 may be operative to map the service name 224 to the assigned Service ID 226 for service 103. In various embodiments, mapping component 220-2 may be operative to map service name 224 to Service ID 226 by creating a Service ID mapping entry 223 in Service ID mapping information 222. Service ID mapping entry 223 may comprise information indicating that Service ID 226 refers to the universally administered service to which service name 224 corresponds. In the aforementioned example in which service 103 comprises a Tic-Tac-Toe gaming application, Service ID mapping entry 223 may comprise information indicating that the Service ID "0000 0000 0003" refers to that application and corresponds to the service name "TicTacToe.Game.Apps." The embodiments are not limited to this example.
In some embodiments, wireless device 104 may wish to utilize the service 103 provided by wireless device 102. In various embodiments, rather than scanning for service 103 based on its
service name 224, wireless device 104 may be operative to scan for service 103 based on its Service ID 226. In some embodiments, wireless device 104 may be operative to communicate with apparatus 200 and/or system 240, and to determine the Service ID 226 for service 103 based on Service ID mapping entry 223. For example, wireless device 104 may send a Service ID query identifying service name 224 to apparatus 200 and/or system 240, and management component 220-1 may identify the Service ID 226 based on Service ID mapping entry 223 and send the Service ID 226 to wireless device 104 in response to the Service ID query. Wireless device 104 may then be operative to scan for service 103 based on the Service ID 226 identified by Service ID mapping entry 223. For example, in various embodiments, wireless device 104 may be operative to broadcast a scan frame 230 comprising Service ID 226 and wireless device 102 may be operative to respond to that scan frame 230. In some embodiments, the use of Service ID 226 may enable wireless device 104 to conserve power, bandwidth, and/or other transmission resources, because the size of scan frame 230 may be reduced relative to conventional approaches in which service names are included in scan frames. The embodiments are not limited in this context.
FIG. 3 illustrates a block diagram for an apparatus 300 that may comprise an example of a wireless device that provides a locally administered service, such as wireless device 106 of FIG. 1. In various embodiments, apparatus 300 may comprise a wireless station (STA)
communicating over a wireless network 100 comprising a Wi-Fi Direct wireless network.
Although the apparatus 300 shown in FIG. 3 has a limited number of elements in a certain topology, it may be appreciated that the apparatus 300 may include more or less elements in alternate topologies as desired for a given implementation. The embodiments are not limited in this context.
The apparatus 300 may comprise a computer-implemented apparatus 300 having a processor circuit 302 arranged to execute one or more software components 320- . The processor circuit 302 may be any of various commercially available processors, and may be the same as or similar to processor circuit 202 of FIG. 2.
The apparatus 300 may comprise a memory unit 304. Memory unit 304 may be implemented using any machine-readable or computer-readable media capable of storing data, including both volatile and non- volatile memory, and may be the same as or similar to memory unit 204 of FIG. 2. It is worthy of note that some portion or all of memory unit 304 may be included on the same integrated circuit as processor circuit 302, or alternatively some portion or all of memory unit 304 may be disposed on an integrated circuit or other medium, for example a hard disk drive, that is external to the integrated circuit of processor circuit 302. Although
memory unit 304 is comprised within apparatus 300 in FIG. 3, memory unit 304 may be external to apparatus 300 in some embodiments. The embodiments are not limited in this context.
The apparatus 300 may comprise a determination component 320-1. In some
embodiments, determination component 320-1 may be arranged for execution by the processor circuit 302 to determine Service IDs for locally administered services of apparatus 300. In various embodiments, the Service IDs may be of smaller size than service names for the locally administered services. For example, in some embodiments, the locally administered services may have service names in a DNS name format of 64 octets in length, while the corresponding service IDs may be 6 octets in length. The embodiments are not limited to this example.
The apparatus 300 may comprise a mapping component 320-2. In various embodiments, mapping component 320-2 may be arranged for execution by the processor circuit 302 to maintain Service ID mapping information 322. Service ID mapping information 322 may comprise information indicating a mapping of service names to Service IDs for locally administered services of apparatus 300. In some embodiments, for a given Service ID, Service ID mapping information 322 may indicate a service name for a service identified by the Service ID. In various embodiments, apparatus 300 may be operative to store Service ID mapping information 322 in memory unit 304. The embodiments are not limited in this context.
FIG. 3 may also illustrate one embodiment of a system 340. System 340 may comprise apparatus 300 and transceiver 344. Transceiver 344 may comprise one or more radios capable of transmitting and receiving signals using various suitable wireless communications techniques, and may be the same as or similar to transceiver 244 of FIG. 2. The embodiments are not limited in this context.
In general operation, apparatus 300 and/or system 340 may be operative to generate a Service ID 326 for a service 307, and to maintain Service ID mapping information 322 that enables the determination of the Service ID 326 associated with service 307.
In some embodiments, service 307 may comprise a locally administered service provided by apparatus 300 and/or system 340. In various embodiments, service name 324 may comprise a service name for service 307. In some embodiments, service name 324 may comprise a relatively long string. For example, in various embodiments, service name 324 may comprise a service name string in a DNS name format of 64 octets in length. In an example embodiment in which service 307 comprises a social networking application called "MyFace," service name 324 may comprise the string "MyFace. SocialNetwork.Apps." The embodiments are not limited to this example.
In some embodiments, determination component 320-1 may be operative to determine a Service ID 326 for service 307. In various embodiments, Service ID 326 may comprise a
relatively short value. For example, in some embodiments, Service ID 326 may comprise a string or value of 6 octets in length. In various embodiments, Service ID 326 may comprise a universal/local administration (U/L) bit 328. U/L bit 328 may comprise a bit indicating whether the service 307 identified by Service ID 326 is universally or locally administered, and may be the same as or similar to U/L bit 228 of FIG. 2. In some embodiments, determination component 320- 1 may be operative to determine Service ID 326 such that U/L bit 328 has a value indicating that service 307 is a locally administered service. The embodiments are not limited in this context.
In various embodiments, determination component 320-1 may be operative to determine Service ID 326 according to a hashing algorithm 321. Hashing algorithm 321 may comprise an algorithm for converting a string such as service name 324 into a shorter string, bit sequence, or value. In some embodiments, hashing algorithm 321 may be selected based on the defined lengths of service name 324 and Service ID 326. For example, in various embodiments in which a defined format for service name 324 comprises 64 octets and a defined format for Service ID 326 comprises 6 octets including U/L bit 328, a hashing algorithm 321 may be selected that is capable of converting 64 octet strings into 47 bit values. Examples of hashing algorithm 321 may include an SHA-1 hash function, an SHA-256 hash function, an SHA-512 hash function, or any other suitable type of hashing algorithm. The embodiments are not limited to these examples.
In some embodiments, determination component 320-1 may be operative to hash service name 324 according to hashing algorithm 321, and to append U/L bit 328 to the result to obtain Service ID 326. In the aforementioned example embodiment in which service name 324 comprises the string "MyFace.SocialNetwork.Apps," determination component 320-1 may be operative to determine a Service ID 326 comprising the hexadecimal value "AF71 C289 EE01," where the value of "1" in the first bit indicates that service 307 is a locally administered service, and the remaining 47 bits comprise the result produced by hashing algorithm 321. An advantage of various embodiments may be that by determining Service ID 326 by hashing service name 324, the probability of determining a Service ID 326 that matches that determined for a different service with a different service name may be minimized. For example, if a defined format for Service ID 326 comprises 47 bits plus U/L bit 328, the odds that a second, different service name will also hash to Service ID 326 will generally be approximately 1 in 247 As such, the use of hashing algorithm 321 allows the generation of a Service ID 326 that will be extremely likely to be unique within wireless network 100, even though that Service ID 326 is generated without consultation of the Service IDs for other services in wireless network 100. The embodiments are not limited in this context.
In some embodiments, mapping component 320-2 may be operative to map the service name 324 to the determined Service ID 326 for service 307. In various embodiments, mapping component 320-2 may be operative to map service name 324 to Service ID 326 by creating a Service ID mapping entry 323 in Service ID mapping information 322. Service ID mapping entry 323 may comprise information indicating that Service ID 326 refers to the locally administered service to which service name 324 corresponds. In the aforementioned example in which service 307 comprises a social networking application, Service ID mapping entry 323 may comprise information indicating that the Service ID "AF71 C289 EE01" refers to that application and corresponds to the service name "MyFace.SocialNetwork.Apps." The embodiments are not limited to this example.
In some embodiments, wireless device 104 may comprise a device that also provides service 307. In various embodiments, wireless device may which to determine other wireless devices in wireless network 100 that provide service 307. In some embodiments, rather than scanning for such wireless devices using the service name 324 of service 307, wireless device 104 may be operative to scan for wireless devices providing service 307 based on the Service ID 326 for service 307. For example, in various embodiments, wireless device may be operative to determine Service ID 326 using hashing algorithm 321, and may then be operative to broadcast a scan frame 330 comprising Service ID 326. Processor circuit 302 of apparatus 300 and/or system 340 may then be operative to determine that apparatus 300 and/or system 340 provides service 307 based on Service ID mapping entry 323, and may respond to wireless device 104 with a message indicating that service 307 is locally available. In some embodiments, the use of Service ID 326 may enable wireless device 104 to conserve power, bandwidth, and/or other transmission resources, because the size of scan frame 330 may be reduced relative to conventional approaches in which service names are included in scan frames. The embodiments are not limited in this context.
Included herein are one or more logic flows representative of exemplary methodologies for performing novel aspects of the disclosed architecture. While, for purposes of simplicity of explanation, the one or more methodologies shown herein are shown and described as a series of acts, those skilled in the art will understand and appreciate that the methodologies are not limited by the order of acts. Some acts may, in accordance therewith, occur in a different order and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all acts illustrated in a methodology may be required for a novel implementation.
A logic flow may be implemented in software, firmware, and/or hardware. In software and firmware embodiments, a logic flow may be implemented by computer executable instructions stored on a non-transitory computer readable medium or machine readable medium, such as an optical, magnetic or semiconductor storage. The embodiments are not limited in this context.
FIG. 4 illustrates one embodiment of a logic flow 400, which may be representative of the operations executed by one or more embodiments described herein. For example, FIG. 4 may be representative of the operations executed by apparatus 200 and/or system 240 of FIG. 2 according to various embodiments. As shown in FIG. 4, a service name of a universally administered service may be received at 402. For example, apparatus 200 and/or system 240 of FIG. 2 may receive service name 224 corresponding to service 103 from wireless device 102. At 404, a unique Service ID may be assigned to the universally administered service identified by the service name. For example, management component 220-1 of FIG. 2 may be operative to assign a unique Service ID 226 to service 103. At 406, the Service ID may be mapped to the service name for the universally administered service. For example, mapping component 220-2 of FIG. 2 may be operative to create a Service ID mapping entry 223 in Service ID mapping information 222 that indicates that Service ID 226 corresponds to service name 224 and service 103. The embodiments are not limited to these examples.
FIG. 5 illustrates one embodiment of a logic flow 500, which may be representative of the operations executed by one or more embodiments described herein. For example, FIG. 5 may be representative of the operations executed by apparatus 300 and/or system 340 of FIG. 3 according to some embodiments. As shown in FIG. 5, a service name of a locally administered service may be determined at 502. For example, determination component 320-1 of FIG. 3 may be operative to determine a service name 324 of a locally administered service 307. At 504, a hash value may be obtained by hashing the service name according to a hashing algorithm. For example, determination component 320- 1 of FIG. 3 may be operative to determine a hash value by hashing service name 324 according to hashing algorithm 321. At 506, a Service ID for the locally administered service may be determined by appending a U/L bit to the hash value. For example, determination component 320- 1 of FIG. 3 may be operative to determine Service ID 326 by appending U/L bit 328 to the hash value, and U/L bit 328 may indicate that service 307 is a locally administered service. At 508, the Service ID may be mapped to the service name. For example, mapping component 320-2 of FIG. 3 may be operative to create a Service ID mapping entry 323 in Service ID mapping information 322 that indicates that Service ID 326 corresponds to service name 324 and locally administered service 307. The embodiments are not limited to these examples.
FIG. 6 illustrates an embodiment of a storage medium 600. The storage medium 600 may comprise an article of manufacture. In one embodiment, the storage medium 600 may comprise any non-transitory computer readable medium or machine readable medium, such as an optical, magnetic or semiconductor storage. The storage medium may store various types of computer executable instructions, such as instructions to implement one or both of logic flows 400 and 500. Examples of a computer readable or machine readable storage medium may include any tangible media capable of storing electronic data, including volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth. Examples of computer executable instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, object-oriented code, visual code, and the like. The embodiments are not limited in this context.
FIG. 7 illustrates an embodiment of a communications device 700 for use in a wireless network such as wireless network 100 of FIG. 1. Device 700 may implement, for example, apparatus 200, system 240, apparatus 300, system 340, storage medium 600 and/or a logic circuit 728. The logic circuit 728 may include physical circuits to perform operations described for apparatus 200 or apparatus 300, for example. As shown in FIG. 7, device 700 may include a radio interface 710, baseband circuitry 720, and computing platform 730, although the embodiments are not limited to this configuration.
The device 700 may implement some or all of the structure and/or operations for the apparatus 200, system 240, apparatus 300, system 340, storage medium 600 and/or logic circuit 728 in a single computing entity, such as entirely within a single device. Alternatively, the device 700 may distribute portions of the structure and/or operations for the apparatus 200, system 240, apparatus 300, system 340, storage medium 600 and/or logic circuit 728 across multiple computing entities using a distributed system architecture, such as a client- server architecture, a 3 -tier architecture, an N-tier architecture, a tightly-coupled or clustered architecture, a peer-to-peer architecture, a master- slave architecture, a shared database architecture, and other types of distributed systems. The embodiments are not limited in this context.
In one embodiment, radio interface 710 may include a component or combination of components adapted for transmitting and/or receiving single carrier or multi-carrier modulated signals (e.g., including complementary code keying (CCK) and/or orthogonal frequency division multiplexing (OFDM) symbols) although the embodiments are not limited to any specific over- the-air interface or modulation scheme. Radio interface 710 may include, for example, a receiver 712, a frequency synthesizer 714, and/or a transmitter 716. Radio interface 710 may
include bias controls, a crystal oscillator and/or one or more antennas 718-/. In another embodiment, radio interface 710 may use external voltage-controlled oscillators (VCOs), surface acoustic wave filters, intermediate frequency (IF) filters and/or RF filters, as desired. Due to the variety of potential RF interface designs an expansive description thereof is omitted.
Baseband circuitry 720 may communicate with radio interface 710 to process receive and/or transmit signals and may include, for example, an analog-to-digital converter 722 for down converting received signals, a digital-to-analog converter 724 for up converting signals for transmission. Further, baseband circuitry 720 may include a baseband or physical layer (PHY) processing circuit 726 for PHY link layer processing of respective receive/transmit signals. Baseband circuitry 720 may include, for example, a medium access control (MAC) processing circuit 727 for MAC/data link layer processing. Baseband circuitry 720 may include a memory controller 732 for communicating with MAC processing circuit 727 and/or a computing platform 730, for example, via one or more interfaces 734.
In some embodiments, PHY processing circuit 726 may include a frame construction and/or detection module, in combination with additional circuitry such as a buffer memory, to construct and/or deconstruct communication frames. Alternatively or in addition, MAC processing circuit 727 may share processing for certain of these functions or perform these processes independent of PHY processing circuit 726. In some embodiments, MAC and PHY processing may be integrated into a single circuit.
The computing platform 730 may provide computing functionality for the device 700. As shown, the computing platform 730 may include a processing component 740. In addition to, or alternatively of, the baseband circuitry 720, the device 700 may execute processing operations or logic for the apparatus 200, system 240, apparatus 300, system 340, storage medium 600, and/or logic circuit 728 using the processing component 740. The processing component 740 (and/or PHY 726 and/or MAC 727) may comprise various hardware elements, software elements, or a combination of both. Examples of hardware elements may include devices, logic devices, components, processors, microprocessors, circuits, processor circuits (e.g., processor circuit 120), circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), memory units, logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. Examples of software elements may include software components, programs, applications, computer programs, application programs, system programs, software development programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces
(API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints, as desired for a given implementation.
The computing platform 730 may further include other platform components 750. Other platform components 750 include common computing elements, such as one or more processors, multi-core processors, co-processors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, audio cards, multimedia input/output (I/O) components (e.g., digital displays), power supplies, and so forth. Examples of memory units may include without limitation various types of computer readable and machine readable storage media in the form of one or more higher speed memory units, such as read-only memory (ROM), random- access memory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDR AM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, polymer memory such as ferroelectric polymer memory, ovonic memory, phase change or ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or optical cards, an array of devices such as Redundant Array of Independent Disks (RAID) drives, solid state memory devices (e.g., USB memory, solid state drives (SSD) and any other type of storage media suitable for storing information.
Device 700 may be, for example, an ultra-mobile device, a mobile device, a fixed device, a machine-to-machine (M2M) device, a personal digital assistant (PDA), a mobile computing device, a smart phone, a telephone, a digital telephone, a cellular telephone, user equipment, eBook readers, a handset, a one-way pager, a two-way pager, a messaging device, a computer, a personal computer (PC), a desktop computer, a laptop computer, a notebook computer, a netbook computer, a handheld computer, a tablet computer, a server, a server array or server farm, a web server, a network server, an Internet server, a work station, a mini-computer, a main frame computer, a supercomputer, a network appliance, a web appliance, a distributed computing system, multiprocessor systems, processor-based systems, consumer electronics, programmable consumer electronics, game devices, television, digital television, set top box, wireless access point, base station, node B, subscriber station, mobile subscriber center, radio network controller, router, hub, gateway, bridge, switch, machine, or combination thereof. Accordingly, functions and/or specific configurations of device 700 described herein, may be included or omitted in various embodiments of device 700, as suitably desired.
Embodiments of device 700 may be implemented using single input single output (SISO) architectures. However, certain implementations may include multiple antennas (e.g., antennas 718-/) for transmission and/or reception using adaptive antenna techniques for beamforming or spatial division multiple access (SDMA) and/or using MIMO communication techniques.
The components and features of device 700 may be implemented using any combination of discrete circuitry, application specific integrated circuits (ASICs), logic gates and/or single chip architectures. Further, the features of device 700 may be implemented using microcontrollers, programmable logic arrays and/or microprocessors or any combination of the foregoing where suitably appropriate. It is noted that hardware, firmware and/or software elements may be collectively or individually referred to herein as "logic" or "circuit."
It should be appreciated that the exemplary device 700 shown in the block diagram of FIG. 7 may represent one functionally descriptive example of many potential implementations.
Accordingly, division, omission or inclusion of block functions depicted in the accompanying figures does not infer that the hardware components, circuits, software and/or elements for implementing these functions would be necessarily be divided, omitted, or included in embodiments.
The following examples pertain to further embodiments:
Example 1 is at least one machine-readable medium comprising a plurality of service administration instructions that, in response to being executed on a computing device, cause the computing device to determine a service name for a service in a wireless network, determine a service identifier (ID) for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service, and generate service ID mapping information to map the service ID to the service name.
In Example 2, the service ID of Example 1 may optionally comprise a universal/local administration (U/L) bit indicating that the service comprises one of a universally administered service or a locally administered service.
In Example 3, the service of Example 2 may optionally comprise a universally
administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a universally administered service.
In Example 4, the at least one machine-readable medium of Example 3 may optionally comprise service administration instructions that, in response to being executed on the computing device, cause the computing device to determine the service ID for the service such that the service ID is unique within the wireless network.
In Example 5, the at least one machine-readable medium of any one of Examples 3 to 4 may optionally comprise service administration instructions that, in response to being executed
on the computing device, cause the computing device to receive a service ID query identifying the service name, and send the service ID in response to the service ID query.
In Example 6, the service of Example 2 may optionally comprise a locally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a locally administered service.
In Example 7, the at least one machine-readable medium of Example 6 may optionally comprise service administration instructions that, in response to being executed on the computing device, cause the computing device to generate a hash value for the service name based on a hash function, and generate the service ID based on the hash value.
In Example 8, the at least one machine-readable medium of Example 7 may optionally comprise service administration instructions that, in response to being executed on the computing device, cause the computing device to generate the service ID by appending the U/L bit to the hash value.
In Example 9, the hash function of any one of Examples 7 to 8 may optionally comprise a Secure Hash Algorithm 1 (SHA-1) hash function, an SHA-256 hash function, or an SHA-512 hash function.
In Example 10, the at least one machine-readable medium of any one of Examples 7 to 9 may optionally comprise service administration instructions that, in response to being executed on the computing device, cause the computing device to receive a scan frame comprising the service ID, and send a message indicating that the service is locally available in response to the scan frame.
In Example 11, the wireless network of any one of Examples 1 to 10 may optionally comprise a Wi-Fi Direct network.
In Example 12, the service name of any one of Examples 1 to 11 may optionally comprise a domain name system (DNS) string format.
In Example 13, the service name of any one of Examples 1 to 12 may optionally comprise 64 octets.
In Example 14, the service ID of any one of Examples 1 to 13 may optionally comprise 6 octets.
In Example 15, the U/L bit of any one of Examples 1 to 14 may optionally comprise a first bit of the service ID.
In Example 16, the U/L bit of any one of Examples 1 to 15 may optionally comprise a last bit of the service ID.
Example 17 is a service administration apparatus, comprising a processor circuit, a management component for execution by the processor circuit to determine a service name for a
service in a wireless network and determine a service identifier (ID) for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service, and a mapping component for execution by the processor circuit to generate service ID mapping information to map the service ID to the service name.
In Example 18, the service ID of Example 17 may optionally comprise a universal/local administration (U/L) bit indicating that the service comprises one of a universally administered service or a locally administered service.
In Example 19, the service of Example 18 may optionally comprise a universally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a universally administered service.
In Example 20, the management component of Example 19 may optionally be for execution by the processor circuit to determine the service ID for the service such that the service ID is unique within the wireless network.
In Example 21, the management component of any one of Examples 19 to 20 may optionally be for execution by the processor circuit to receive a service ID query identifying the service name and send the service ID in response to the service ID query.
In Example 22, the service of Example 18 may optionally comprise a locally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a locally administered service.
In Example 23, the management component of Example 22 may optionally be for execution by the processor circuit to generate a hash value for the service name based on a hash function and generate the service ID based on the hash value.
In Example 24, the management component of Example 23 may optionally be for execution by the processor circuit to generate the service ID by appending the U/L bit to the hash value.
In Example 25, the hash function of any one of Examples 23 to 24 may optionally comprise a Secure Hash Algorithm 1 (SHA-1) hash function, an SHA-256 hash function, or an SHA-512 hash function.
In Example 26, the management component of any one of Examples 23 to 25 may optionally be for execution by the processor circuit to receive a scan frame comprising the service ID and send a message indicating that the service is locally available in response to the scan frame.
In Example 27, the wireless network of any one of Examples 17 to 26 may optionally comprise a Wi-Fi Direct network.
In Example 28, the service name of any one of Examples 17 to 27 may optionally comprise a domain name system (DNS) string format.
In Example 29, the service name of any one of Examples 17 to 28 may optionally comprise 64 octets.
In Example 30, the service ID of any one of Examples 17 to 29 may optionally comprise 6 octets.
In Example 31, the U/L bit of any one of Examples 17 to 30 may optionally comprise a first bit of the service ID.
In Example 32, the U/L bit of any one of Examples 17 to 31 may optionally comprise a last bit of the service ID.
Example 33 is a system, comprising a service administration apparatus according to any one of Examples 17 to 32, a display, a radio frequency (RF) transceiver, and one or more RF antennas.
Example 34 is a service administration method, comprising determining a service name for a service in a wireless network, determining a service identifier (ID) for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service, and generating service ID mapping information to map the service ID to the service name.
In Example 35, the service ID of Example 34 may optionally comprise a universal/local administration (U/L) bit indicating that the service comprises one of a universally administered service or a locally administered service.
In Example 36, the service of Example 35 may optionally comprise a universally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a universally administered service.
In Example 37, the service administration method of Example 36 may optionally comprise determining the service ID for the service such that the service ID is unique within the wireless network.
In Example 38, the service administration method of any one of Examples 36 to 37 may optionally comprise receiving a service ID query identifying the service name, and sending the service ID in response to the service ID query.
In Example 39, the service of Example 35 may optionally comprise a locally administered service, the U/L bit may optionally comprise a value indicating that the service comprises a locally administered service.
In Example 40, the service administration method of Example 39 may optionally comprise generating a hash value for the service name based on a hash function, and generating the service ID based on the hash value.
In Example 41, the service administration method of Example 40 may optionally comprise generating the service ID by appending the U/L bit to the hash value.
In Example 42, the hash function of any one of Examples 40 to 41 may optionally comprise a Secure Hash Algorithm 1 (SHA-1) hash function, an SHA-256 hash function, or an SHA-512 hash function.
In Example 43, the service administration method of any one of Examples 40 to 42 may optionally comprise receiving a scan frame comprising the service ID, and sending a message indicating that the service is locally available in response to the scan frame.
In Example 44, the wireless network of any one of Examples 34 to 43 may optionally comprise a Wi-Fi Direct network.
In Example 45, the service name of any one of Examples 34 to 44 may optionally comprise a domain name system (DNS) string format.
In Example 46, the service name of any one of Examples 34 to 45 may optionally comprise 64 octets.
In Example 47, the service ID of any one of Examples 34 to 46 may optionally comprise 6 octets.
In Example 48, the U/L bit of any one of Examples 34 to 47 may optionally comprise a first bit of the service ID.
In Example 49, the U/L bit of any one of Examples 34 to 48 may optionally comprise a last bit of the service ID.
Example 50 is an apparatus, comprising means for performing a service administration method according to any one of Examples 34 to 49.
Example 51 is a system, comprising an apparatus according to Example 50, a display, a radio frequency (RF) transceiver, and one or more RF antennas.
Example 52 is at least one machine-readable medium comprising a plurality of instructions that, in response to being executed on a computing device, cause the computing device to perform a service administration method according to any one of Examples 34 to 49.
Example 53 is a communications device arranged to perform a service administration method according to any one of Examples 34 to 49.
Example 54 is a service administration apparatus, comprising means for determining a service name for a service in a wireless network, means for determining a service identifier (ID) for the service, the service ID comprising a number of bits that is less than a number of bits
comprised in the service name for the service, and means for generating service ID mapping information to map the service ID to the service name.
In Example 55, the service ID of Example 54 may optionally comprise a universal/local administration (U/L) bit indicating that the service comprises one of a universally administered service or a locally administered service.
In Example 56, the service of Example 55 may optionally comprise a universally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a universally administered service.
In Example 57, the service administration apparatus of Example 56 may optionally comprise means for determining the service ID for the service such that the service ID is unique within the wireless network.
In Example 58, the service administration apparatus of any one of Examples 56 to 57 may optionally comprise means for receiving a service ID query identifying the service name, and means for sending the service ID in response to the service ID query.
In Example 59, the service of Example 55 may optionally comprise a locally administered service, and the U/L bit may optionally comprise a value indicating that the service comprises a locally administered service.
In Example 60, the service administration apparatus of Example 59 may optionally comprise means for generating a hash value for the service name based on a hash function, and means for generating the service ID based on the hash value.
In Example 61 , the service administration apparatus of Example 60 may optionally comprise means for generating the service ID by appending the U/L bit to the hash value.
In Example 62, the hash function of any one of Examples 60 to 61 may optionally comprise a Secure Hash Algorithm 1 (SHA-1) hash function, an SHA-256 hash function, or an SHA-512 hash function.
In Example 63, the service administration apparatus of any one of Examples 60 to 62 may optionally comprise means for receiving a scan frame comprising the service ID, and means for sending a message indicating that the service is locally available in response to the scan frame.
In Example 64, the wireless network of any one of Examples 54 to 63 may optionally comprise a Wi-Fi Direct network.
In Example 65, the service name of any one of Examples 54 to 64 may optionally comprise a domain name system (DNS) string format.
In Example 66, the service name of any one of Examples 54 to 65 may optionally comprise 64 octets.
In Example 67, the service ID of any one of Examples 54 to 66 may optionally comprise 6 octets.
In Example 68, the U/L bit of any one of Examples 54 to 67 may optionally comprise a first bit of the service ID.
In Example 69, the U/L bit of any one of Examples 54 to 68 may optionally comprise a last bit of the service ID.
Some embodiments may be described using the expression "one embodiment" or "an embodiment" along with their derivatives. These terms mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.
Furthermore, in the preceding and following description and/or claims, the terms coupled and/or connected, along with their derivatives, may be used. In particular embodiments, connected may be used to indicate that two or more elements are in direct physical and/or electrical contact with each other. Coupled may mean that two or more elements are in direct physical and/or electrical contact. However, coupled may also mean that two or more elements may not be in direct contact with each other, but yet may still cooperate and/or interact with each other. For example, "coupled" may mean that two or more elements do not contact each other but are indirectly joined together via another element or intermediate elements.
In addition, the term "and/or" may mean "and," it may mean "or," it may mean "exclusive- or," it may mean "one," it may mean "some, but not all," it may mean "neither," and/or it may mean "both," although the scope of claimed subject matter is not limited in this respect. In the following description and/or claims, the terms "comprise" and "include," along with their derivatives, may be used and are intended as synonyms for each other.
It is emphasized that the Abstract of the Disclosure is provided to allow a reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it may be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. In the appended claims, the terms "including" and "in which" are used as the plain-English equivalents of the respective terms "comprising" and "wherein," respectively.
Moreover, the terms "first," "second," "third," and so forth, are used merely as labels, and are not intended to impose numerical requirements on their objects.
What has been described above includes examples of the disclosed architecture. It is, of course, not possible to describe every conceivable combination of components and/or methodologies, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. Accordingly, the novel architecture is intended to embrace all such alterations, modifications and variations that fall within the scope of the appended claims.
Claims
1. At least one machine-readable medium comprising a plurality of instructions that, in response to being executed on a computing device, cause the computing device to:
determine a service name for a service in a wireless network;
determine a service identifier (ID) for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service; and
generate service ID mapping information to map the service ID to the service name.
2. The at least one machine-readable medium of claim 1, the service ID comprising a universal/local administration (U/L) bit indicating that the service comprises one of a universally administered service or a locally administered service.
3. The at least one machine-readable medium of claim 2, the service comprising a universally administered service, the U/L bit comprising a value indicating that the service comprises a universally administered service.
4. The at least one machine-readable medium of claim 3, comprising instructions that, in response to being executed on the computing device, cause the computing device to determine the service ID for the service such that the service ID is unique within the wireless network.
5. The at least one machine-readable medium of claim 2, the service comprising a locally administered service, the U/L bit comprising a value indicating that the service comprises a locally administered service.
6. The at least one machine-readable medium of claim 5, comprising instructions that, in response to being executed on the computing device, cause the computing device to:
generate a hash value for the service name based on a hash function; and
generate the service ID based on the hash value.
7. The at least one machine-readable medium of claim 6, the hash function comprising a Secure Hash Algorithm 1 (SHA-1) hash function, an SHA-256 hash function, or an SHA-512 hash function.
8. The at least one machine-readable medium of claim 1, the wireless network comprising a Wi- Fi Direct network.
9. An apparatus, comprising:
a processor circuit;
a management component for execution by the processor circuit to determine a service name for a service in a wireless network and determine a service identifier (ID) for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service; and
a mapping component for execution by the processor circuit to generate service ID mapping information to map the service ID to the service name.
10. The apparatus of claim 9, the service ID comprising a universal/local administration (U/L) bit indicating that the service comprises one of a universally administered service or a locally administered service.
11. The apparatus of claim 10, the service comprising a universally administered service, the U/L bit comprising a value indicating that the service comprises a universally administered service.
12. The apparatus of claim 11, the management component for execution by the processor circuit to determine the service ID for the service such that the service ID is unique within the wireless network.
13. The apparatus of claim 10, the service comprising a locally administered service, the U/L bit comprising a value indicating that the service comprises a locally administered service.
14. The apparatus of claim 13, the management component for execution by the processor circuit to generate a hash value for the service name based on a hash function and generate the service ID based on the hash value.
15. The apparatus of claim 14, the hash function comprising a Secure Hash Algorithm 1 (SHA- 1) hash function, an SHA -256 hash function, or an SHA-512 hash function.
16. The apparatus of claim 9, the wireless network comprising a Wi-Fi Direct network.
17. A system, comprising:
an apparatus according to any one of claims 9 to 16;
a display;
a radio frequency (RF) transceiver; and
one or more RF antennas.
18. A method, comprising:
determining a service name for a service in a wireless network;
determining a service identifier (ID) for the service, the service ID comprising a number of bits that is less than a number of bits comprised in the service name for the service; and
generating service ID mapping information to map the service ID to the service name.
19. The method of claim 18, the service ID comprising a universal/local administration (U/L) bit indicating that the service comprises one of a universally administered service or a locally administered service.
20. The method of claim 19, the service comprising a universally administered service, the U/L bit comprising a value indicating that the service comprises a universally administered service.
21. The method of claim 20, comprising determining the service ID for the service such that the service ID is unique within the wireless network.
22. The method of claim 19, the service comprising a locally administered service, the U/L bit comprising a value indicating that the service comprises a locally administered service.
23. The method of claim 22, comprising:
generating a hash value for the service name based on a hash function; and
generating the service ID based on the hash value.
24. The method of claim 23, the hash function comprising a Secure Hash Algorithm 1 (SHA-1) hash function, an SHA-256 hash function, or an SHA-512 hash function.
25. The method of claim 18, the wireless network comprising a Wi-Fi Direct network.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW103108132A TWI555417B (en) | 2013-03-15 | 2014-03-10 | Improved techniques for wireless network service discovery |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201361787072P | 2013-03-15 | 2013-03-15 | |
| US61/787,072 | 2013-03-15 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014143321A1 true WO2014143321A1 (en) | 2014-09-18 |
Family
ID=51537479
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2013/076931 Ceased WO2014143321A1 (en) | 2013-03-15 | 2013-12-20 | Improved techniques for wireless network service discovery |
Country Status (2)
| Country | Link |
|---|---|
| TW (1) | TWI555417B (en) |
| WO (1) | WO2014143321A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021258322A1 (en) * | 2020-06-24 | 2021-12-30 | Zte Corporation | A method for broadcast radio communication services |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6532368B1 (en) * | 1999-01-25 | 2003-03-11 | International Business Machines Corporation | Service advertisements in wireless local networks |
| US20060142011A1 (en) * | 2004-12-23 | 2006-06-29 | Nokia Corporation | Method for the routing of communications to a voice over internet protocol terminal in a mobile communication system |
| EP1734706A1 (en) * | 2003-05-13 | 2006-12-20 | Kabushiki Kaisha Toshiba | Controlling searches in a short-range radio system |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2443831C (en) * | 2001-04-12 | 2010-06-08 | Research In Motion Limited | An advanced system and method for dynamically discovering, provisioning and accessing host services on wireless data communication devices |
| US7206934B2 (en) * | 2002-09-26 | 2007-04-17 | Sun Microsystems, Inc. | Distributed indexing of identity information in a peer-to-peer network |
| TWI262407B (en) * | 2004-04-30 | 2006-09-21 | Chung-Yu Lin | System using a numeric string composed of multiple sequentially aligned designated phone numbers and an identification code to search a designated computer IP address of the Internet |
| TW200705939A (en) * | 2005-07-19 | 2007-02-01 | Topn Network Technology Co Ltd | Internet diversion method and domain name system |
| KR101356502B1 (en) * | 2007-06-05 | 2014-01-29 | 엘지전자 주식회사 | Method for transmitting a broadcasting signal, method for receiveing a broadcasting signal and apparatus for the same |
| WO2011115426A2 (en) * | 2010-03-17 | 2011-09-22 | Lg Electronics Inc. | Method for iptv service discovery and iptv receiver using the same |
| US8738027B2 (en) * | 2011-02-07 | 2014-05-27 | Qualcomm Incorporated | Methods and apparatus for identifying and authorizing location servers and location services |
| US9049100B2 (en) * | 2011-10-13 | 2015-06-02 | Interdigital Patent Holdings, Inc. | Method and apparatus for providing interfacing between content delivery networks |
| TWI535247B (en) * | 2012-04-10 | 2016-05-21 | 財團法人資訊工業策進會 | Transmission system and method for network address translation traversal |
-
2013
- 2013-12-20 WO PCT/US2013/076931 patent/WO2014143321A1/en not_active Ceased
-
2014
- 2014-03-10 TW TW103108132A patent/TWI555417B/en not_active IP Right Cessation
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6532368B1 (en) * | 1999-01-25 | 2003-03-11 | International Business Machines Corporation | Service advertisements in wireless local networks |
| EP1734706A1 (en) * | 2003-05-13 | 2006-12-20 | Kabushiki Kaisha Toshiba | Controlling searches in a short-range radio system |
| US20060142011A1 (en) * | 2004-12-23 | 2006-06-29 | Nokia Corporation | Method for the routing of communications to a voice over internet protocol terminal in a mobile communication system |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021258322A1 (en) * | 2020-06-24 | 2021-12-30 | Zte Corporation | A method for broadcast radio communication services |
| US12376024B2 (en) | 2020-06-24 | 2025-07-29 | Zte Corporation | Method for broadcast radio communication services |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201446038A (en) | 2014-12-01 |
| TWI555417B (en) | 2016-10-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2023071977A1 (en) | Communication method and apparatus | |
| RU2580517C2 (en) | Systems and methods for low-overhead wireless beacons having compressed network identifiers | |
| US9131480B2 (en) | Techniques to manage group controling signaling for machine-to-machine devices | |
| RU2580840C2 (en) | Systems and methods for low-overhead wireless beacon timing | |
| US10231182B2 (en) | Techniques for implicit indication of trigger frame start times | |
| WO2015081808A1 (en) | Method and apparatus for data transmission | |
| US20160295511A1 (en) | Remote wakeup for wi-fi devices | |
| US9985481B2 (en) | Dynamic power adjustment mechanism for mitigating wireless power interference | |
| US9668216B2 (en) | Techniques for device power management in a local wireless network | |
| US11425656B2 (en) | Method and device for handling wake-up signals | |
| US20190320425A1 (en) | Parameter encoding techniques for wireless communication networks | |
| WO2019136646A1 (en) | Wireless communication method, terminal device and network device | |
| US20210168722A1 (en) | Apparatus, system, and method of waking up a computing device based on wireless sensing | |
| US20140198738A1 (en) | Techniques to manage paging cycles for machine-to-machine devices | |
| CN111512688B (en) | Device, baseband processor and medium for performing handover random access channel procedure in wireless communication environment | |
| WO2017172995A1 (en) | Techniques and systems for logical mesh networks | |
| US10171592B2 (en) | Techniques for multi-level service discovery | |
| EP3140970A1 (en) | Techniques for using a modulation and coding scheme for downlink transmissions | |
| WO2014143321A1 (en) | Improved techniques for wireless network service discovery | |
| US9887919B2 (en) | Techniques and systems for logical mesh networks | |
| US20180006753A1 (en) | Group addressed transmission techniques for directional wireless networks | |
| US10051670B2 (en) | Human proximity detection techniques for wireless communication devices | |
| US10652368B2 (en) | Parameter encoding techniques for wireless communication networks | |
| EP4668816A1 (en) | Communication method and apparatus, and communication device | |
| Choi et al. | Discovering mobile applications in device-to-device communications: Hash function-based approach |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13877836 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13877836 Country of ref document: EP Kind code of ref document: A1 |