System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
Abstract
A method of avoiding conflicts in a wireless digital communication system, the method comprising receiving a first multicast address broadcast by a first host; hopping the first multicast address to at least a second host; receiving, from the second host, an indication of priority between the first host and the second host based on the first multicast address; and hopping the indication of priority from the first client to the first host.

Term
Projected expiry 30 June 2030.
- Priority
- Filed
- Published
- Today
- Projected expiry
14 claims: 8 independent, 6 dependent
- 1A method of avoiding conflicts in a wireless digital communication system, the method comprising the steps of:a) receiving, at a first client, a first multicast address broadcast by a first host;b) hopping the first multicast address from the first client to at least a second host;c) receiving, at the first client from the second host, an indication of priority between the first host and the second host based on the first multicast address;andd) hopping the indication of priority from the first client to the first host.
- 4The method of any preceding claim, wherein the indication of priority is received in a Reject Multicast Address, RMA, message.
- 5A mobile device configured for avoiding conflicts in a wireless digital communication system, comprising:a) means for receiving, at the mobile device, a first multicast address broadcast by a first host;b) means for hopping the first multicast address from the mobile device to at least a second host;c) means for receiving, at the mobile device from the second host, an indication of priority between the first host and the second host based on the first multicast address;andd) means for hopping the indication of priority from the mobile device to the first host.
- 8A method of avoiding conflicts in a wireless digital communication system, the method comprising the steps of a) receiving at a second host from a first client, a first multicast address broadcast by a first host to the first client;b) determining a priority between the first host and the second host for the first multicast address responsive to receiving the first multicast address;c) broadcasting from the second host to the first client an indication of the determined priority between the first host and the second host;d) selecting, at the second host, the first multicast address responsive to determining that the second host has priority for the first multicast address or, selecting, at the second host, a second multicast address responsive to determining that the first host has priority for the first multicast address.
- 11An apparatus configured for avoiding conflicts in a wireless digital communication system, comprising:a) means for receiving from a first client, a first multicast address broadcast by a first host to the first client;b) means for determining a priority between the first host and the apparatus responsive to receiving the first multicast address;c) means for broadcasting to the first client an indication of the determined priority between the first host and the apparatus;d) means for selecting the first multicast address responsive to determining that the apparatus has priority for the first multicast address, or selecting, at the apparatus, a second multicast address responsive to determining that the first host has priority for the first multicast address.
Independent claims8
77 paragraphs in 4 sections, as filed
BACKGROUND
Field
The presently claimed invention relates generally to the field of communications, and more specifically to the field of wireless communications in a network having multiple nodes.
Background
Recent trends in communications have demonstrated that visual content is becoming a more important aspect of both the communications themselves as well as the devices that enable such communications. For example, displays have become much more integral to the operation of mobile phones in recent years. The mobile display digital interface (MDDI) protocol has been adopted by many manufacturers and users as a cost-effective and low-power solution that enables high-speed short-range communication with a display device, for example a display portion of a clamshell-type or flip-phone. The MDDI protocol typically utilizes a miniature connector system and a thin flexible cable for connecting portable computing, communications and entertainment devices to displays, generally referred to as a host and a client, respectively. However, with the development of high-speed wireless technologies such as ultra wideband and 802.11 n, there is a growing desire for wireless communications between computing platforms and displays. Wireless USB has been introduced as one option for wireless communication between devices. However, unlike a MDDI system, wireless USB operates within the framework of the wiMedia UWB MAC, which unfortunately ties the communications protocol very heavily to the underlying MAC structure, which in turn complicates operation of wireless USB systems making them less than optimal for many applications.
As noted above, in a wired MDDI system, the host and client devices are connected by actual cabling, which forms the basis for the association between the host and the client. In a wireless system; however, there is no automatic, physical link creating an association between the host and client, which can lead to numerous difficulties with association, security, inefficient use of air link bandwidth, and conflicting addresses, packets and/or communication protocols from differing hosts and/or clients.
Accordingly, there is a need in the art for a system and/or method for wireless MDDI communications that ensures proper association between a host and a client, as well as efficient and secure communications there between.
SUMMARY
The presently claimed invention includes systems and methods for avoiding conflict in a wireless mobile display digital interface (WMDDI) environment including both host and client devices. In one aspect, the presently claimed invention includes a system and/or method that are configured for broadcasting a first multicast address by a first host to at least one first client in a predetermined geographic area and broadcasting the first multicast address by a second host to at least one second client in the predetermined geographic area. The system and/or method can be further configured for determining a priority between the first host and the second host when the second host receives multicast packets transmitted by the first host and changing to a second multicast address by a least priority host of the first host and the second host.
In another aspect, the presently claimed invention includes a system and/or method for resolving and/or preventing conflicts in a multicast address digital communication system. The system and/or method of conflict resolution can include the step of receiving a first multicast address broadcast by a first device in a first predetermined geographic area at a second device in a predetermined geographic area wherein the first and second geographic areas are at least partially distinct from one another. Upon receipt, the second device can rebroadcast the first multicast address in the second predetermined geographic area, where it can be received by a third, distinct device in the second predetermined geographic area. In other aspects of the presently claimed invention, the third device can then determine if the first and second multicast addresses are identical, and if so, determine a priority between the first and second devices. If the first device is the priority device, then the third device can select and/or generate a third, distinct, multicast address. Likewise, if the second device is the priority device, then the first device can select and/or generate a third, distinct multicast address, thereby preventing any potential conflicts from arising between devices in the first and second predetermined geographic areas.
As described in greater detail below, the systems and/or methods described herein, the WMDDI protocol can be run on top of a high-speed wireless MAC without interfering with the wireless MAC itself, which is a significant drawback to the wireless USB system described above. Compartmentalization of the WMDDI from the wireless MAC greatly improves the efficiency and operation of the host and client communications, while reducing the overall cost of the systems described herein. Other features described herein include a service discovery function, a dynamic association/dissociation function, a mutual authentication and key exchange function, a link status function as well as various specific functionalities to preserve air link bandwidth. Other features and advantages of the presently claimed invention are described in detail below with reference to the following figures.
BRIEF DESCRIPTION OF DRAWINGS
<ul id="ul0001" list-style="none" compact="compact"><li><figref idref="f0001">Figure 1</figref> is a schematic block diagram of a system for avoiding and/or resolving conflicts in a WMDDI multicast environment in accordance with one aspect of the presently claimed invention.</li><li><figref idref="f0001">Figure 2</figref> is a schematic block diagram of a system hierarchy in a WMDDI multicast environment in accordance with one aspect of the presently claimed invention.</li><li><figref idref="f0002">Figure 3</figref> is a diagram of a system for avoiding and/or resolving conflicts in a WMDDI multicast environment in accordance with one aspect of the presently claimed invention.</li><li><figref idref="f0002">Figure 4</figref> is a flowchart depicting a method for avoiding conflicts in a WMDDI multicast environment in accordance with one aspect of the presently claimed invention.</li><li><figref idref="f0003">Figure 5</figref> is a flowchart depicting a method for avoiding and/or resolving conflicts in a WMDDI multicast environment in accordance with one aspect of the presently claimed invention.</li><li><figref idref="f0004">Figure 6</figref> is a flowchart depicting a method for avoiding and/or resolving conflicts in a WMDDI multicast environment in accordance with one aspect of the presently claimed invention.</li><li><figref idref="f0005">Figure 7</figref> is a flowchart depicting a method for avoiding and/or resolving conflicts in a WMDDI multicast environment in accordance with one aspect of the presently claimed invention.</li><li><figref idref="f0006">Figure 8</figref> is a flowchart depicting a method for avoiding conflicts in a WMDDI multicast environment in accordance with one aspect of the presently claimed invention.</li></ul>
DETAILED DESCRIPTION
The presently claimed invention is described herein with reference to selected preferred features and aspects thereof with reference to the appended figures. It should be understood by those of skill in the art of communications that the foregoing descriptions are exemplary in nature only, and that the scope of the presently claimed invention is defined by the following claims.
As shown in <figref idref="f0001">Figure 1</figref>, a system <b>10</b> for avoiding and/or resolving conflicts in a WMDDI multicast environment in accordance with one aspect of the presently claimed invention includes a host device <b>12</b> that is wirelessly connectable to a client device <b>20.</b> Host device <b>12</b> can include a WMDDI sender module <b>14</b> and a wireless modem <b>16,</b> each of which is connectable to a host controller <b>18</b> adapted to control at least the communications functions of host device <b>12,</b> including at least those functions described in greater detail below with reference to <figref idref="f0001 f0002 f0003 f0004 f0005 f0006">Figures 2 through 8</figref>. Host controller <b>18</b> can include for example any suitable combination of hardware, firmware, or software that is adapted to control the communications functions of host device <b>12.</b> Similarly, client device <b>12</b> can include a WMDDI receiver module <b>22</b> and a wireless modem <b>24,</b> each of which is connectable to a client controller <b>26</b> adapted to control at least the communications functions of client device <b>20.</b> Client controller <b>26</b> can also include, for example, any suitable combination of hardware, firmware, or software that is adapted to control the communications functions of client device <b>20,</b> including at least those functions described in greater detail below with reference to <figref idref="f0001 f0002 f0003 f0004 f0005 f0006">Figures 2 through 8</figref>.
Each host device <b>12</b> and client device <b>20</b> can have a functional system hierarchy <b>30,</b> one aspect of which is shown in <figref idref="f0001">Figure 2</figref>. System hierarchy <b>30</b> can include for example a display/video/multimedia layer <b>32</b> that is layered on top of a WMDDI protocol layer <b>34.</b> WMDDI protocol layer <b>34</b> is shown layered on top of a high-speed wireless MAC layer <b>36,</b> which in turn can run on top of a high-speed wireless PHY layer <b>38.</b> As described more fully herein, WMDDI protocol layer <b>34</b> can include a plurality of functions, including but not limited to a service discovery function, a dynamic association/dissociation function, a mutual authentication and key exchange function, a link status function as well as various specific functionalities to preserve air link bandwidth.
As shown in <figref idref="f0002">Figure 3</figref>, in one preferred aspect of the presently claimed invention, system <b>10</b> is configured such that a first host <b>H1</b> is adapted to broadcast a first multicast address to at least one client device <b>C1</b> in a predetermined geographic area, i.e. within a signal range of first host <b>H1.</b> System <b>10</b> can be further configured so that a second host <b>H2</b> broadcasts the first multicast address to at least one second client <b>C2</b> in the same geographic area, and further such that first host <b>H1</b> and second host <b>H2</b> are configured to determine a priority when second host <b>H2</b> receives multicast address packets transmitted by first host <b>H1,</b> thereby avoiding any potential multicast address conflicts. Depending upon the priority between first host <b>H1</b> and second host <b>H2,</b> system <b>10</b> can be configured such that the least priority one of first host <b>H1</b> or second host <b>H2</b> changes to a second multicast address thereby resolving any existing and/or potential multicast address conflicts.
These and other aspects of the presently claimed invention help to alleviate conflict in a broader WMDDI system in which there are multiple hosts and multiple clients all within the same predetermined geographic area. For example, in a case with two hosts A and C and two clients B and D, it is possible in a typical WMDDI system for hosts A and C to have conflicts and/or non-secure communications depending upon the selected multicast addresses. If nodes A and B are in listening range of each other, and nodes B and C are in listening range of each other, and nodes C and D are in listening range of each other, then nodes A and D might possibly become linked if they share the same multicast address and there is no manner by which to determine proper priority and multicast address selection between the two hosts A and C. As such, aspects of the presently claimed invention include a two-hop transmission of a selected multicast address from the initiating host to a client (first hop), and from the client to at least a second host (second hop), so that the second host is aware of the selection of the multicast address and can, at the option of the second host, either reject the multicast address or accept the multicast address depending upon the priority of the devices (e.g., based on respective Media AccessControl addresses associated therewith). As described in more detail herein, the second host is adapted to avoid conflicts through the rejection or the multicast address and selection of a unique address or resolve existing conflicts by determining a priority address and maintaining its existing address or selecting a new address in response to the priority of the respective devices.
As shown in diagram <b>40</b> of <figref idref="f0002">Figure 3</figref>, first host <b>H1</b> intends to start a session with one or more clients and selects and broadcasts a PickedMulticastAddress (MA2). Simultaneously, second host <b>H2</b> is starting its own session with second client <b>C2</b> using a PickedMulticastAddress, MA1. If the first host <b>H1</b> were to also select MA1 as its multicast address, then first host <b>H1</b> might inadvertently start a session with second client <b>C2.</b> In order to avoid this situation, first host <b>H1</b> broadcasts its MA2 message to at least first client <b>C1</b> that is within the predetermined geographic area. In response, first client <b>C1</b> hops the MA2 to at least second host <b>H2.</b> If MA2 is identical to MA1 on which second host <b>H2</b> is in session with at least a second client <b>C2,</b> then if the address of second host <b>H2</b> is greater than the address of first host <b>H1,</b> second host <b>H2</b> responds to first client <b>C1</b> with a RejectMulticastAddress (RMA) message, which in turn is hopped back to first host <b>H1</b> so that first host <b>H1</b> is aware that there is an existing broadcast with the selected address and that second host <b>H2</b> has priority on that particular address, thus allowing first host <b>H1</b> to select a different multicast address. Alternatively, if MA2 is distinct from MA1, then there is no conflict between first host <b>H1</b> and second host <b>H2</b> for the immediate sessions. Moreover, each of first host <b>H1</b> and second host <b>H2</b> are aware of the other's respective multicast address so each host will refrain from starting another session on the other's multicast address unless or until it is determined by both first host <b>H1</b> and second host <b>H2</b> that there is no conflict.
Returning to <figref idref="f0001">Figure 1</figref>, host device <b>12</b> can be configured for operation as first host <b>H1</b> and second host <b>H2,</b> and client device <b>20</b> can be configured for operation as first client <b>C1</b> and second client <b>C2.</b> As noted above, each host device <b>12</b> and client device <b>20</b> can include a host controller <b>18</b> and a client controller <b>26,</b> respectively, wherein each of the controllers are configured for operation and execution of the methodologies described herein. Controllers <b>18</b> and 26 may be implemented in hardware, firmware, software, and/or combinations thereof. In a hardware implementation, for example, a processing unit may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, micro-controllers, microprocessors, electronic devices, other devices units designed to perform the functions described herein, and/or combinations thereof.
For a firmware and/or software implementation of aspects of the presently claimed invention, the systems and/or methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory, for example the memory associated with one of host device <b>12</b> or client device <b>20,</b> and executed by respective controllers <b>18</b> and <b>26.</b> Memory can be implemented within the processor or external to the processor. As used herein the term "memory" refers to any type of long term, short term, volatile, nonvolatile, or other memory and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
As shown in <figref idref="f0002">Figure 4</figref>, in one aspect of the presently claimed invention, a method for selecting a multicast address to avoid conflicts in a digital communication system includes step <b>S102,</b> which recites broadcasting a first multicast address by a first host to at least one first client in a predetermined geographic area. In step <b>S104,</b> the method recites broadcasting the first multicast address by a second host to at least one second client in the predetermined geographic area; and in step <b>S106</b> method recites determining a priority between the first host and the second host when the second host receives multicast packets transmitted by the first host. The method of this preferred aspect of the presently claimed invention further includes step <b>S108,</b> which recites changing to a second multicast address by a least priority host of the first host and the second host.
In one variation of the method of the aspect shown in <figref idref="f0002">Figure 4</figref>, the method can further include the step of detecting the at least one second client being in the predetermined geographic area by the first host. The step of detecting the at least one second client can be executed according to the two-hop principle set forth with reference to <figref idref="f0002">Figure 3</figref>. The method can further include the steps of receiving the first broadcast multicast address by the at least one second client from the first host, and rebroadcasting the received first multicast address on a first hop count to the second host. As noted above with reference to <figref idref="f0002">Figure 3</figref>, the systems and methodologies described herein function to notify, streamline and prioritize communications within a WMDDI network by minimizing the potential for conflicting multicast addresses between two or more host devices.
Further details of the exemplary methodologies described herein are depicted in the flowchart of <figref idref="f0003">Figure 5</figref>, which pertains primarily to methodologies suitable for a host device <b>12</b> functioning in a system <b>10</b> such as that shown in <figref idref="f0001">Figure 1</figref>. In step <b>S110,</b> the host <b>H1</b> is powered up and in step <b>S112</b> the host <b>H1</b> selects a multicast address <b>G1.</b> After detection of a new client in step <b>S114,</b> host <b>H1</b> transmits its PickedMulticastAddress (PMA) message in the manner described above in step <b>S116.</b> Following transmission of the PMA, the host initiates a Multicast Conflict resolution timer in step <b>S118</b> which functions to set an upper bound on a time for which the host <b>H1</b> will wait to see if the multicast group address <b>G1</b> is already in use by a priority host. In step <b>S120,</b> the method recites one of waiting for a RejectMulticastAddress packet or the expiration of the Multicast Conflict Resolution timer. In step <b>S122,</b> the method shown in <figref idref="f0003">Figure 5</figref> queries whether a RejectMulticastAddress <b>(G1)</b> has been received. If the answer is negative, then the method proceeds to step <b>S128,</b> in which it queries whether the Multicast Conflict Resolution timer has expired. If the Multicast Conflict Resolution timer has expired, then in step <b>S130</b> the method recites maintaining the multicast group address <b>G1</b> as the MAC address for the host's session. If the Multicast Conflict Resolution timer has not expired, then the method returns to step <b>S120</b> described above.
Returning to step <b>S122,</b> if a RejectMulticastAddress <b>(G1)</b> has been received, then the method proceeds to step <b>S124,</b> which recites host <b>H1</b> verifying that the originating host address (e.g., MAC address) <b>H2</b> has priority over the address of host <b>H1,</b> i.e. address of itself. Upon verification, then the method proceeds to step <b>S126,</b> in which the method recites picking a different multicast address <b>G2</b> that is not <b>G1,</b> after which the method returns to step <b>S116</b> and transmits a new PickedMulticastAddress <b>(G2)</b> packet. The exemplary method shown in <figref idref="f0003">Figure 5</figref> functions to ensure the priority of hosts as well as the distinctness of the multicast addresses. As such, in a system <b>10</b> such as that described above, each host therein is performing the foregoing steps to ensure that proper priority is allocated and further that each multicast address is unique within the predetermined geographic region.
<figref idref="f0004">Figure 6</figref> illustrates a methodology appropriate for a recipient such as a host device <b>12</b> or client device <b>20</b> such as that shown in system <b>10</b> described with reference to <figref idref="f0001">Figure 1</figref>. In step <b>S140,</b> the example method recites receiving a PickedMulticastAddress <b>(G1),</b> and in step <b>S142,</b> the example method queries whether the device is already a member of a different group having the same group address <b>G1.</b> If the answer is negative, then the method proceeds to step <b>S160,</b> described in more detail below. If the answer is affirmative, then the method proceeds to step <b>S144,</b> in which it queries whether the address (e.g., MAC address) of the host initiating the multicast group has priority over the existing host of the device.
As noted above, the methodologies of the presently claimed invention ascertain both the priority and the uniqueness of the multicast addresses. As such, if the answer to the priority query <b>S144</b> is affirmative, then the example method queries whether the device is also the second host <b>H2.</b> If the answer is affirmative, then in step <b>S150</b> the host <b>H2</b> picks a different multicast address <b>G2,</b> which is different than <b>G1,</b> for its group and then initiates the procedure of sending a PickedMulticastAddress <b>(G2)</b> as set forth above in step <b>S152.</b> If the answer to query <b>S146</b> is negative, then the device forwards the PickedMulticastAddress to the host <b>H2.</b> If the answer to the priority query <b>S144</b> is negative, then <b>H1</b> does not have priority over <b>H2,</b> and so in step <b>S154</b> the example method queries whether the client device is also the second host <b>H2.</b> If the response is negative, then the example method proceeds to step <b>S158,</b> which recites forwarding the PickedMulticastAddress packet to the host <b>H2.</b> If the response to query <b>S154</b> is affirmative, then the host <b>H2</b> broadcasts a Reject Multicast Packet intended for host <b>H1</b> by including the host's own unicast address of <b>H2</b> in step <b>S156.</b>
As noted above, in order to prevent inadvertent association between hosts and clients that are not necessarily in the same geographic region, the methodologies of the presently claimed invention employ at least a two-hop communication process. Accordingly, in step <b>S160,</b> the example method recites incrementing the hop count on the PickedMulticastAddress packet to ensure that a predetermined number of hops is attained. For example, in step <b>S162</b> the example method queries whether the hop count is less than two. If the response is affirmative, then the method proceeds to step <b>S164</b> to increment the hop count on the PickedMulticastAddress packet and broadcast to the client device's next hop neighbors. On the other hand, if the hop count is two or more, then the example method proceeds to step <b>S166</b> in which the PickedMulticastAddress packet is discarded as both the priority and uniqueness functions have been performed.
<figref idref="f0005">Figure 7</figref> illustrates another example method usable by a packet receiver such as a host or client device in a system of the type described herein. In step <b>S180,</b> the example method recites the step of receiving a PickedMulticastAddress <b>(G1)</b> packet. In step <b>S182,</b> the method queries whether the receiver is a member of a different group that already has the same group address <b>G1.</b> If the query of step <b>S182</b> is answered in the negative, then the example method proceeds to step <b>S196,</b> which recites the step of forwarding the PickedMulticastAddress packet to the host <b>H2.</b> If the answer to the query of step <b>S182</b> is affirmative, then the method proceeds to step <b>S184,</b> in which the method further queries whether the receiving device is a second host <b>H2.</b> If the answer to the query of step <b>S184</b> is negative, then the method proceeds to step <b>S194</b> in which the PickedMulticastAddress is forwarded to the host <b>H2.</b>
Alternatively, if the answer to the query of step <b>S184</b> is affirmative, then the method proceeds to step <b>S186</b> in which it queries whether the address (e.g., MAC address) of the host initiating the multicast group has priority over the address of the host <b>H2,</b> which is the host for the current group. If the response to the query of step <b>S186</b> is negative, then in step <b>S192</b> the host <b>H2</b> broadcasts a RejectMulticastAddress packet destined for host <b>H1,</b> by including the host <b>H2's</b> address with a hop count equal to zero. If the response to the query of step <b>S186</b> is affirmative, then in step <b>S188</b> the host <b>H2</b> selects an alternate multicast address <b>G2</b> distinct from <b>G1</b> for its own multicast group. Following selection of the new multicast address <b>G2,</b> the method directs the host <b>H2</b> to initiate the procedure for sending PickedMulticastAddress <b>(G2)</b> in step <b>S190.</b>
As in the previous example methods, in order to prevent inadvertent association between hosts and clients that are not necessarily in the same geographic region, the methodologies of the presently claimed invention employ at least a two-hop communication process. Accordingly, in step <b>S198,</b> the example method recites incrementing the hop count on the PickedMulticastAddress packet to ensure that a predetermined number of hops is attained. For example, in step <b>S200</b> the example method queries whether the hop count is less than two. If the response is affirmative, then the method proceeds to step <b>S202</b> to increment the hop count on the PickedMulticastAddress packet and broadcast to the device's next hop neighbors. On the other hand, if the hop count is two or more, then the example method proceeds to step <b>S204</b> in which the PickedMulticastAddress packet is discarded as both the priority and uniqueness functions have been performed.
Another example method usable by a packet receiver such as a host or client device in a system of the type described herein is shown in <figref idref="f0006">Figure 8</figref>. In particular, the example methodology set forth in <figref idref="f0006">Figure 8</figref> is usable by a device that is a member of a multicast group <b>G1</b> started by host <b>H2</b> in which the device has either received multicast packets from a different host <b>H1</b> or received a beacon, signal or packet indicating that host <b>H1</b> has started a different group with the same address <b>G1.</b> This can happen if two distinct groups come into wireless contact with each other either because of mobility or due to changes in the wireless environment. The example method shown in <figref idref="f0006">Figure 8</figref> begins in step <b>S210</b> in which the device detects a duplicate multicast group (G1). In step <b>S212,</b> the example method queries whether the receiving device is the host <b>H2.</b> If the response is negative, then in step <b>S222</b> the example method recites generating a PickedMulticastAddress <b>(G1)</b> with a hop count of one on behalf of <b>H1</b> and transmitting the same to host <b>H2,</b> thereby notifying host <b>H2</b> of a possible conflict with group <b>G1</b> address.
If the response to the query of step <b>S212</b> is affirmative then the receiving device is also host <b>H2.</b> In that case, the example method further queries whether host <b>H1</b> has priority over host <b>H2</b> in step <b>S214.</b> If the response to the query of step <b>S214</b> is affirmative, then the example method proceeds to step <b>S216</b> in which the host <b>H2</b> picks an alternate multicast address <b>G2</b> that is distinct from <b>G1</b> for its multicast group. In step <b>S218,</b> host <b>H2</b> initiates the procedure for sending PickedMulticastAddress <b>(G2)</b> to its multicast group. If the response to the query of step <b>S214</b> is negative, then host <b>H2</b> sends or broadcasts a RejectMulticastAddressPacket to <b>H1</b> by including the host <b>H2's</b> address, thereby ensuring that host <b>H1</b> will pick a distinct multicast address for its group.
Those of skill in the art will readily appreciate that although various aspects and features of the presently claimed invention have been described with reference to a multicast address, the principles of the presently claimed invention are equally well-suited to other types of wireless addresses. For example, the systems and methods described herein can be applied to any node network having unique identifiers and a special node such as a host that collectively define a multicast group. By way of non-limiting example, aspects and features of the presently claimed invention can be employed in all types of wireless networks, including those supported by Internet Protocol (IP) addressing and the IEEE 802.11 series of networks, such as for example wireless personal area networks (WPAN), wireless local area networks (WLAN) including WiFi and Fixed Wireless Data networks, wireless metropolitan area networks (WiMAX) as well as both Global System for Mobile Communication (GSM) and Personal Communications Service (PCS) networks. Those of skill in the art will recognize that the various inventive aspects and features described herein can be readily applied to at least the aforementioned types of communications protocols and networks.
Unless specifically stated otherwise, as apparent from the preceding discussion, it is appreciated that throughout this specification discussions utilizing terms such as "processing," "computing," "calculating," "selecting," "forming," "enabling," "inhibiting," "locating," "terminating," "identifying," "initiating," "detecting," "obtaining," "hosting," "maintaining," "representing," "estimating," "reducing," "associating," "receiving," "transmitting," "determining" and/or the like refer to the actions and/or processes that may be performed by a computing platform, such as a computer or a similar electronic computing device, that manipulates and/or transforms data represented as physical electronic and/or magnetic quantities and/or other physical quantities within the computing platform's processors, memories, registers, and/or other information storage, transmission, reception and/or display devices. Such actions and/or processes may be executed by a computing platform under the control of machine-readable instructions stored in a storage medium, for example. Such machine-readable instructions may comprise, for example, software or firmware stored in a storage medium included as part of a computing platform (e.g., included as part of a processing circuit or external to such a processing circuit). Further, unless specifically stated otherwise, process described herein, with reference to flow diagrams or otherwise, may also be executed and/or controlled, in whole or in part, by such a computing platform including for example the host device 12 and client device 20 described in detail above.
The preceding descriptions are related to selected aspects and preferred examples of the systems and methods of the presently claimed invention. It should be understood by those of skill in the art that these descriptions are exemplary in nature, and that the full scope and import of the presently claimed invention is defined with reference to the claims.
According to an aspect of the present invention, there is provided a method executed on hardware for selecting a multicast address to avoid conflicts in a digital communication system, the method comprising the steps of: <ol id="ol0001" ol-style=""><li>a) broadcasting a first multicast address by a first host to at least one first client in a predetermined geographic area;</li><li>b) broadcasting the first multicast address by a second host to at least one second client in the predetermined geographic area;</li><li>c) determining a priority between the first host and the second host when the second host receives multicast packets transmitted by the first host; and</li><li>d) changing to a second multicast address by a least priority host of the first host and the second host.</li></ol>
The method may further comprise the steps of: <ul id="ul0002" list-style="none"><li>e) detecting the at least one second client being in the predetermined geographic area by the first host;</li><li>f) receiving the first broadcast multicast address by the at least one second client from the first host; and</li><li>g) rebroadcasting the received first multicast address on a first hop count to the second host.</li></ul>
The method may further comprise a highest priority host from the first host and the second host transmitting a reject multicast address packet on a second hop count.
The method may further comprise the step of rebroadcasting the rejected multicast address by the at least one first client or the at least one second client.
The method may further comprise repeating steps a) through g) for the second multicast address.
The method may further comprise the step of a highest priority host of the first host and the second host sending a reject multicast address to the least priority host.
The method may further comprise the step of transmitting a confirm new address by the at least one first client or at least one second client when the step of changing to the second multicast address is made.
The method may further comprise the step of repeating steps a) through d) for the second multicast address.
According to an aspect of the present invention, there is provided a hardware system for selecting a multicast address to avoid conflicts in a digital communication system comprising: <ul id="ul0003" list-style="none"><li>means for broadcasting a first multicast address by a first host to at least one first client in a predetermined geographic area;</li><li>means for broadcasting the first multicast address by a second host to at least one second client in the predetermined geographic area;</li><li>means for determining a priority between the first host and the second host when the second host receives multicast packets transmitted by the first host; and</li><li>means for changing to a second multicast address by a least priority host of the first host and the second host.</li></ul>
The hardware system may further comprise: <ul id="ul0004" list-style="none"><li>means for detecting the at least one second client being in the predetermined geographic area by the first host;</li><li>means for receiving the first broadcast multicast address by the at least one second client from the first host; and</li><li>means for rebroadcasting the received first multicast address on a first hop count to the second host.</li></ul>
The hardware system may further comprise a means for transmitting a reject multicast address packet on a second hop count by a highest priority host from the first host and the second host.
The hardware system may further comprise a means for rebroadcasting the rejected multicast address by the at least one first client or the at least one second client.
The hardware system may further comprise a means for sending a reject multicast address to the least priority host by a highest priority host of the first host and the second host.
The hardware system may further comprising a means for transmitting a confirm new address by the at least one first client or at least one second client concurrently with the means for changing to the second multicast address.
According to an aspect of the present invention, there is provided a storage media comprising program instructions which are hardware computer-executable to implement a selection of a multicast address to avoid conflicts in a digital communication system, the storage media comprising: <ul id="ul0005" list-style="none"><li>program instructions that cause a first multicast address to be broadcast by a first host to at least one first client in a predetermined geographic area;</li><li>program instructions that cause the first multicast address to be broadcast by a second host to at least one second client in the predetermined geographic area;</li><li>program instructions that cause a priority to be determined between the first host and the second host when the second host receives multicast packets transmitted by the first host; and</li><li>program instructions that cause a change to a second multicast address by a least priority host of the first host and the second host.</li></ul>
The storage media may further comprise: <ul id="ul0006" list-style="none"><li>program instructions that cause a detection of the at least one second client being in the predetermined geographic area by the first host;</li><li>program instructions that cause a receipt of the first broadcast multicast address by the at least one second client from the first host; and</li><li>program instructions that cause a rebroadcast of the received first multicast address on a first hop count to the second host.</li></ul>
The storage media may further comprise program instructions that cause a transmission of a reject multicast address packet on a second hop count by a highest priority host from the first host and the second host.
The storage media may further comprise program instructions that cause a rebroadcast of the rejected multicast address by the at least one first client or the at least one second client.
The storage media may further comprise program instructions that cause a highest priority host of the first host and the second host to send a reject multicast address to the least priority host.
The storage media may further comprise program instructions that cause a transmission of a confirm new address by the at least one first client or at least one second client concurrently with the program instructions to change to the second multicast address.
According to as aspect of the present invention, there is provided a method for preventing conflicts in a multicast address digital communication system, the method comprising the steps of: <ol id="ol0002" ol-style=""><li>a) receiving a first multicast address broadcast by a first device in a first predetermined geographic area at a second device in a second predetermined geographic area, wherein the second predetermined geographic area is at least partially distinct from the first predetermined geographic area;</li><li>b) rebroadcasting, in the second predetermined geographic area, the first multicast address by the second device; and</li><li>c) receiving the first multicast address by at least a third device in the second predetermined geographic area.</li></ol>
The first device may be one of a client or a host.
The second device may be one of a client or a host.
The third device may be one of a client or a host.
The method may further comprise the step of: <ul id="ul0007" list-style="none" compact="compact"><li>at the third device, determining whether the first multicast address and a second multicast address selected by the third device are identical.</li></ul>
The method may further comprise the step of: <ul id="ul0008" list-style="none" compact="compact"><li>in response to the first multicast address and the second multicast address being identical, determining a priority between the first and second devices.</li></ul>
The method may further comprise the step of: <ul id="ul0009" list-style="none" compact="compact"><li>in response to the first device having priority over the second device, selecting at the third device a third multicast address distinct from the second multicast address.</li></ul>
The method may further comprise the step of: <ul id="ul0010" list-style="none" compact="compact"><li>in response to the second device having priority over the first device, selecting at the first device a third multicast address distinct from the first multicast address.</li></ul>
According to an aspect of the present invention, there is provided a hardware system for preventing conflicts in a multicast address digital communication system, comprising: <ul id="ul0011" list-style="none"><li>means for receiving a first multicast address broadcast by a first device in a first predetermined geographic area at a second device in a second predetermined geographic area, wherein the second predetermined geographic area is at least partially distinct from the first predetermined geographic area;</li><li>means for rebroadcastiπg, in the second predetermined geographic area, the first multicast address by the second device; and</li><li>means for receiving the first multicast address by at least a third device in the second predetermined geographic area.</li></ul>
The first device may be one of a client or a host.
The second device may be one of a client or a host.
The third device may be one of a client or a host.
The hardware system may further comprise a means for determining whether the first multicast address and a second multicast address selected by the third device are identical at the third device.
The hardware system may further comprise a means for determining a priority between the first and second devices in response to the first multicast address and the second multicast address being identical.
The hardware system may further comprise a means for selecting at the third device a third multicast address distinct from the second multicast address in response to the first device having priority over the second device.
The hardware system may further comprise a means for selecting at the first device a third multicast address distinct from the first multicast address in response to the second device having priority over the first device.
According to an aspect of the present invention, there is provided a storage media comprising program Instructions which are hardware computer-executable to implement a prevention of conflicts In a multicast address digital communication system, the storage media comprising: <ul id="ul0012" list-style="none"><li>program instructions that cause a receipt of a first multicast address broadcast by a first device In a first predetermined geographic area at a second device in a second predetermined geographic area, wherein the second predetermined geographic area is at least partially distinct from the first predetermined geographic area;</li><li>program instructions that cause a rebroadcast, in the second predetermined geographic area, of the first multicast address by the second device; and</li><li>program instructions that cause a receipt of the first multicast address by at least a third device in the second predetermined geographic area.</li></ul>
The first device may be one of a client or a host.
The second device may be one of a client or a host.
The third device may be one of a client or a host.
The storage media may further comprise program instructions that cause a determination of whether the first multicast address and a second multicast address selected by the third device are identical at the third device.
The storage media may further comprise program instructions that cause a determination of a priority between the first and second devices in response to the first multicast address and the second multicast address being identical.
The storage media may further comprise program instructions that cause a selection at the third device of a third multicast address distinct from the second multicast address in response to the first device having priority over the second device.
The storage media may further comprise program instructions that cause a selection at the first device of a third multicast address distinct from the first multicast address in response to the second device having priority over the first device.
Contents4
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP1944946A1 | Cites | European Patent Office (EPO) | Search report |
| WO2007021269A1 | Cites | World Intellectual Property Organization (WIPO) | Search report |
| US5835723A | Cites | United States of America | Search report |
11 members in 6 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 497447 | United States of America | – | |
| 49744709 | United States of America | A | |
| 49744709 | United States of America | A | |
| 10730672 | European Patent Office (EPO) | A | |
| 10730672 | European Patent Office (EPO) | A | |
| 107306722 | – | – | – |
| 497447 | – | – | – |
| EP20100730672 | – | – | – |
| US20090497447 | – | – | – |
Members11
| Document | Office | Kind | |
|---|---|---|---|
| US2011002255A1 | United States of America | A1 | |
| WO2011002916A1 | World Intellectual Property Organization (WIPO) | A1 | |
| KR20120037000A | Republic of Korea | A | |
| EP2449724A1 | European Patent Office (EPO) | A1 | |
| CN102474423A | China | A | |
| JP2012532509A | Japan | A | |
| KR101337693B1 | Republic of Korea | B1 | |
| JP5490893B2 | Japan | B2 | |
| CN102474423B | China | B | |
| US9264248B2 | United States of America | B2 | |
| EP3185472A1This record | European Patent Office (EPO) | A1 |
6 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Application deemed to be withdrawnWithdrawn18D | 18D | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWNSTAA | STAA | |
| Request for examination filed17P | 17P | |
| Divisional application: reference to earlier applicationAC | AC | |
| Designated contracting statesAK | AK | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI |
Numbers
- Publication
- 3185472
- Publication, DOCDB
- 3185472
- Publication, EPODOC
- EP3185472
- Application
- 171549553
- Application, DOCDB
- 17154955
- Application, EPODOC
- EP20170154955
Titles3
- German
- SYSTEM UND VERFAHREN ZUR VERMEIDUNG UND AUFLÖSUNG VON KONFLIKTEN IN EINER WMDDI-MULTICAST-UMGEBUNG
- English
- SYSTEM AND METHOD FOR AVOIDING AND RESOLVING CONFLICTS IN A WIRELESS MOBILE DISPLAY DIGITAL INTERFACE MULTICAST ENVIRONMENT
- French
- SYSTÈME ET PROCÉDÉ POUR ÉVITER ET RÉSOUDRE DES CONFLITS DANS UN ENVIRONNEMENT MULTIDIFFUSION D'INTERFACE NUMÉRIQUE D'AFFICHAGE MOBILE SANS FIL
Classification
- CPC, 12
- H04L12/1881
- H04L12/18
- H04L12/189
- H04W8/26
- H04L29/12292
- H04L29/1232
- H04L61/5069
- H04L61/2069
- H04L61/5092
- H04L61/2092
- H04W72/30
- H04W72/005
- IPC, 5
- H04L12 18
- H04L29 12
- H04W8 26
- H04W84 18
- H04W72 00
Designated states37
- Contracting states, 37
- Albania
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Croatia
- Hungary
- Ireland
- Iceland
- Italy
- Liechtenstein
- Lithuania
- Luxembourg
- Latvia
and 13 moreShow fewer
- Monaco
- North Macedonia
- Malta
- Netherlands (Kingdom of the)
- Norway
- Poland
- Portugal
- Romania
- Sweden
- Slovenia
- Slovakia
- San Marino
- Türkiye