Disclosure of Invention
The invention aims to provide a game third-party event organization method and a game third-party event organization system, which can conveniently realize large-scale national events.
According to a first aspect of the present invention, there is provided a method of organizing a third party event for a game by a third party event platform, the third party event platform comprising a third party server and a third party client, the method comprising: responding to the fact that the user confirms to register for the third-party event at the third-party client, and pulling up the game client of the game to acquire the game account number of the user in the game; and sending the game account and the platform account of the user on the third-party event platform to a third-party server in a correlated manner.
In this manner, the game account and platform account are associated when the user signs up for a third party event. The game server can organize users to match by using game accounts, the third-party platform can manage by using platform accounts, and the third-party platform and the game server can realize information communication through the incidence relation of the two accounts. Thus, the third-party platform can organize the third-party game of the game by means of the game server and the game client.
Preferably, the method may further comprise: and receiving the third-party event information from the third-party server, and displaying the third-party event information in the third-party client so that the user can select the third-party event to be registered.
Thus, the third-party client can receive the third-party event information to be organized by the third-party platform from the third-party server, so that the user using the third-party client can view and select to register to participate in the third-party event.
Preferably, the method may further comprise: and receiving the arraying data of the third-party events participated by the user from the third-party server, and displaying the arraying data in the third-party client.
Therefore, the arraying data of the third-party events participated in by the third-party client can be displayed to the user at the third-party client, so that the user can know the basic situation of the events to be participated in by the user.
Preferably, the method may further comprise: event result data of a third-party event in which the user participates is received from the third-party server, and the event result data is displayed in the third-party client.
Therefore, the event result of the third-party event in which the third-party client participates can be displayed to the user at the third-party client, so that the user can conveniently know the overall situation of the event result.
According to a second aspect of the present invention, there is also provided a method of organizing a third party event for a game by a third party event platform, the third party event platform including a third party server and a third party client, the method comprising: receiving a platform account number of a user who registers to participate in the third-party event on a third-party event platform and a game account number of the user in the game from a third-party client; performing arraying arrangement on a plurality of users who register to participate in a third-party event to form arraying data, wherein the arraying data comprises member information of each party participating in the event, and the member information comprises game account numbers of the members; and sending the arraying data to a game server of the game.
In this way, the third party platform associates the game account with the platform account. The game server can organize users to match by using game accounts, the third-party platform can manage by using platform accounts, and the third-party platform and the game server can realize information communication through the incidence relation of the two accounts. Thus, the third-party platform can organize the third-party game of the game by means of the game server and the game client.
Preferably, the method further comprises: receiving event result data from the game server, wherein the event result data comprises a match result and member information of each party participating in the match; and sending a competition result to the third-party client based on the platform account corresponding to the game account.
Therefore, the game result obtained after the game server conducts the match based on the game account can be sent to the third-party client corresponding to the corresponding platform account based on the incidence relation between the game account and the platform account, so that the user can conveniently check the match result of the user at the third-party client.
Preferably, the member information further includes a platform account number of the member.
Therefore, the arraying data sent to the game server by the platform server comprises the game account and the platform account, and the association relationship between the two accounts is maintained. Correspondingly, the game result data sent to the platform server by the game server also comprises the game account and the platform account, and the association relationship between the two accounts is maintained. Therefore, the platform server can acquire the platform account corresponding to the game account without searching the association table, so that the user (and the third-party client) of the third-party platform can be managed directly based on the platform account, and the information of the competition result is sent to the user.
Preferably, the method further comprises: determining the arraying data of the next round of competition based on the competition result data; and sending the arraying data of the next round of competition to the game server.
Thereby, third party platforms are enabled to organize large third party events having multiple rounds.
Preferably, the method further comprises: and sending the array arrangement data to the third-party client.
Therefore, the arraying data of the third-party events participated in by the third-party client can be displayed to the user at the third-party client, so that the user can know the basic situation of the events to be participated in by the user.
Preferably, the arraying data further comprises a competition starting time, and the third-party server sends the arraying data to the game server when the third-party server is before the competition starting time by a preset time length.
Therefore, after receiving the arraying data, the game server only needs to simply start to organize the competition after the preset time length, and does not need to record a large amount of various arraying data prematurely and perform corresponding time monitoring operation, so that the additional requirements on the game server are reduced.
According to a third aspect of the present invention, there is also provided a method for implementing a third-party event organized by a third-party event platform by a game server, the method including: receiving arraying data from a third-party server of a third-party event platform, wherein the arraying data comprises member information of each participating party, and the member information comprises a game account number and a platform account number of a member; organizing each party participating in the competition based on the permutation data; and sending event result data to the third-party server, wherein the event result data comprises a match result and member information of each party participating in the match.
Therefore, simple data interfaces are directly arranged on the game server and the third-party server, the game account is associated with the platform account, the game server can use the game account to organize users to play games, the third-party platform can use the platform account to manage, and the third-party platform and the game server can realize information communication through the association relationship of the two accounts. Therefore, the game server and the game client can conveniently realize the third-party game of the game.
According to the present invention, there is also provided a system for implementing a third party event for a game, the system comprising: a third party client for performing a method of organizing a third party event for a game by a third party event platform according to the above first aspect of the invention; and a third party server for executing the method for organizing a third party event for a game through a third party event platform according to the second aspect of the invention.
Preferably, the system further comprises: and the game server is used for executing the method for realizing the third-party game organized by the third-party game platform by the game server according to the third aspect of the invention.
According to the present invention there is also provided a third party client for organizing a third party event platform for a game, comprising: the game account acquisition unit is used for responding to the fact that the user confirms to register for the third-party event at the third-party client, pulling up the game client of the game to acquire the game account of the user in the game; and the association sending unit is used for sending the game account and the platform account of the user on the third-party event platform to the third-party server in an association manner.
According to the present invention, there is also provided a third party service for organizing a third party event platform for a game, comprising: the account receiving unit is used for receiving a platform account of a user who registers for participating in the third-party event on a third-party event platform and a game account of the user in a game from a third-party client; the arraying and arranging unit is used for arraying and arranging a plurality of users who register to participate in the third-party event to form arraying and arranging data, wherein the arraying and arranging data comprise member information of each party participating in the event, and the member information comprises game account numbers of the members; and the arraying sending unit is used for sending the arraying arrangement data to a game server of the game.
Preferably, the third party service end further comprises: a result receiving unit for receiving event result data from the game server, the event result data including a match result and member information of each party participating in the match; and the result sending unit is used for sending the competition result to the third-party client based on the platform account corresponding to the game account.
Preferably, the arraying unit further decides arraying data of the next round of match based on the event result data; and the arraying sending unit also sends arraying data of the next round of competition to the game server.
According to the present invention, there is also provided a game server for a third party event organized by a third party event platform, comprising: the arraying receiving unit is used for receiving arraying data from a third-party server of a third-party event platform, the arraying data comprises member information of each participating party, and the member information comprises a game account number of a member and a platform account number; the match organization unit organizes each party participating in the match based on the opposite-array arrangement data; and the result uploading unit is used for sending the event result data to the third-party server, and the event result data comprises the event result and the member information of each party participating in the event.
The game third party event organization method and the game third party event organization system can establish a standardized game event data interface, game manufacturers can access the third party event platform when realizing the interface, and the third party event platform organizes and operates game events to realize large-scale national events.
Detailed Description
Preferred embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While the preferred embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The present invention provides a method of organizing a third party event for a game via a third party event platform, which may include a third party client 10 and a third party server 20.
Fig. 1 is a schematic diagram of a third party client of a third party platform according to an embodiment of the present invention.
As shown in fig. 1, the third party client 10 may include a game account acquisition unit 11 and an association transmission unit 12.
The account acquisition unit 11 may pull up the game client 40 of the game to acquire the game account of the user in the game in response to the user determining at the third party client 10 to enter into a third party event.
The user may browse the third party event information and determine the third party event to be registered for at the third party client 10 and perform the registration operation. The third party client 10 may pull up the game client 40 of the game corresponding to the third party event in response to the registration operation of the user to acquire the game account of the user in the game.
The association sending unit 12 may be configured to send the game account and the platform account of the user on the third-party event platform to the third-party server 20 in an associated manner.
The user logs in the game account at the game client 40 and confirms the game account on the presented authorization interface, the game account of the user is allowed to be associated with the platform account of the user on the third-party event platform, and the association sending unit 12 may send the associated game account and platform account to the third-party server 20.
In this manner, the game account and platform account are associated when the user signs up for a third party event. The game server 30 can use the game account to organize the user for competition, the third-party platform can use the platform account to manage, and the third-party platform and the game server 30 can realize information communication through the association relationship between the two accounts. Thus, the third-party platform can organize the third-party game of the game by means of the game server and the game client.
The third party client 10 may also receive third party event information from the third party server 20 and display the third party event information in the third party client 10 for viewing and selection for enrollment in the third party event using the user of the third party client 10. The third-party client 10 may receive the third-party event information or the third-party event information sent by the third-party server 20, and display the received third-party event information for the user to browse. After browsing, the user can register the third-party events which the user wants to register.
The third party client 10 may also receive the arraying data of the third party event in which the user participates from the third party server 20 and display the arraying data in the third party client 10.
After the user registers, the third-party server 20 automatically performs arraying after processing, makes arraying data and sends the arraying data to the third-party client 10, so that the arraying data of the third-party events participated in by the third-party client 10 can be displayed to the user, and the user can know the basic situation of the games to be participated in by the user. The third party client 10 may also receive event result data for the third party event in which the user is participating from the third party server 20 and display the event result data in the third party client 10.
The third party client 10 may receive the event result data of the third party event sent by the third party server 20 after the user completes the game, and display the event result data to the user, so as to facilitate the user to browse the game result information, to pay attention to the game progress all the time, to facilitate the user to know the game result in time, or to know the game arrangement of the next round in time, to more conveniently know the overall situation of the game result.
If the duration of the event is short, the user may play the next round of the game directly at the game client 40. However, for example, in the case that the duration of the competition is long, or the interval between two rounds of competition is long, for example, one round of competition is performed in one day, the game server 30 sends the competition result to the third party server 20, the third party server 20 processes the competition, automatically performs the permutation, makes the permutation data and sends the permutation data to the third party client 10, and the permutation data is displayed on the third party client 10, so that the user can conveniently browse the permutation data and remind the user to participate in the next round of competition on time.
Fig. 2 is a schematic diagram of a third party service end of a third party platform according to an embodiment of the present invention.
As shown in fig. 2, the third party server 20 may include an account receiving unit 21, a permutation unit 22, and a permutation sending unit 23.
The account receiving unit 21 may be configured to receive, from the third party client 10, a platform account of a user on a platform of the third party event and a game account of the user in a game, which are registered to participate in the third party event.
The account receiving unit 21 may further include an account association table (not shown in the figure) for storing the associated platform account and game account, so as to extract the related account information in the subsequent game event.
In this way, the third party platform associates the game account with the platform account. The game server can organize users to match by using game accounts, the third-party platform can manage by using platform accounts, and the third-party platform and the game server can realize information communication through the incidence relation of the two accounts. Thus, the third-party platform can organize the third-party game of the game by means of the game server and the game client.
The arraying unit 22 may be configured to perform arraying for a plurality of users registered to participate in a third-party event to form arraying data, where the arraying data includes member information of each party participating in the event, and the member information includes game account numbers of the members.
The arraying unit 22 may perform arraying based on the existing information of a plurality of users who are registered to participate in the third-party event, and provide arraying data of the initial match of each party participating in the event, which is convenient for arranging the game event.
The third party server 20 may determine the permutation data for the next round of the game based on the result of the game.
The arraying unit 22 can perform arraying based on the event results of each of the participants, determine and provide each participant in the next round of game and the arraying data of each participant in the next round of game, so as to facilitate the arrangement of the subsequent game events.
The arraying unit 22 can process the competition results of each party to be competed and directly make the competition results.
The third party server 20 may send the arraying data for the next round of competition to the game server 30.
The arraying transmission unit 23 may be configured to transmit the arraying data to the game server 30 of the game.
The arraying sending unit 23 may send the arraying data organized by the arraying unit 22 to the game server 30 of the game, so that the game server 30 organizes the user to develop the competition.
Thereby, third party platforms are enabled to organize large third party events having multiple rounds. The third-party server 20 and the game server 30 may synchronize data through an HTTP interface, or may synchronize data through other data interfaces.
Therefore, simple data interfaces are directly arranged on the game server and the third-party server, the game account is associated with the platform account, the game server can use the game account to organize users to play games, the third-party platform can use the platform account to manage, and the third-party platform and the game server can realize information communication through the association relationship of the two accounts. Therefore, the game server and the game client can conveniently realize the third-party game of the game.
The third party server 20 may also send the arraying data to the third party client 10.
The arraying sending unit 23 can send the arraying data of the third-party events participated by the user to the third-party client 10, and the third-party client 10 displays the arraying data, so that the user can conveniently browse, know the basic conditions of the own participated events, know the event arrangement in time and participate in the events on time.
The arraying data may include related information of a third-party event and member information of each party participating in the event.
The information related to the third party event may include a unique identifier of the third party event, a name of the third party event, a game map, a game mode, a game suit, and the like.
Wherein the arraying data may further include a game start time. The third party server 20 transmits the arraying data to the game server 30 at a predetermined time length before the competition start time.
Therefore, the game server can simply start to organize the competition after the arraying data is received and the preset time length is later, but a large amount of various arraying data is recorded in an early stage and corresponding time monitoring operation is carried out, so that the additional requirement on the game server is reduced.
The arraying data may also include game expiration times. By the time of starting the competition, if one member of the two parties is not full, the right can be treated as the abandoning right. The right-to-abandon of the late team member can be directly taken as the right-to-abandon, and the direct competition can be allowed under the condition that the number of the participants is not equal. Or directly abandoning the right as the party with less members and rearranging the new participants to match with the participants with full members. Or directly using the full contestant as the winner of the game.
The arraying data may further include a predetermined timeout time range, that is, a predetermined time range before the starting time point is used as the predetermined timeout time range, and when a member of the two parties participating in the game does not report on time before the predetermined timeout time range, the game server 30 sends the information that the member of the party participating in the game is not full to the third party server 20 in time, so that the third party server 20 can rearrange a new member of the game as a spare to play the game event in time, or directly arrange a new party of the game as a spare to play the game, or directly use a full party of the game as a winner.
The arraying data may also include names of the participating parties and information about the members of the participating parties. For example, the names of the parties may be team 1 and team 2, respectively, or other names of the parties that may represent the identity of the parties. The member information may include game account numbers of the members participating in the game, unique identifications of third party users, nicknames, and the like representing identities of the members participating in the game.
The member information may also include a platform account number of the member's third party event platform.
In the case where the member information does not include the platform account, when the third-party server 20 receives two accounts from the platform, the two accounts may be associatively stored in the account association table. After receiving the information from the game server 30, the corresponding platform account is looked up from the account association table based on the game account.
Therefore, the arraying data sent to the game server by the platform server comprises the game account and the platform account, and the association relationship between the two accounts is maintained. Correspondingly, the game result data sent to the platform server by the game server also comprises the game account and the platform account, and the association relationship between the two accounts is maintained. Therefore, the platform server can acquire the platform account corresponding to the game account without searching the association table, so that the user (and the third-party client) of the third-party platform can be managed directly based on the platform account, and the information of the competition result is sent to the user.
In addition, the third party server 20 may further include a result receiving unit 24 and a result transmitting unit 25.
Fig. 3 is a schematic diagram of a third party service end of a third party platform according to another embodiment of the present invention.
As shown in fig. 3, the third party server 20 may include an account receiving unit 21, a permutation unit 22, a permutation sending unit 23, a result receiving unit 24, and a result sending unit 25.
The account receiving unit 21 may be configured to receive, from the third party client 10, a platform account of a user on a platform of the third party event and a game account of the user in a game, which are registered to participate in the third party event.
The arraying unit 22 may be configured to perform arraying for a plurality of users registered to participate in a third-party event to form arraying data, where the arraying data includes member information of each party participating in the event, and the member information includes game account numbers of the members.
The arraying transmission unit 23 may be configured to transmit the arraying data to the game server 30 of the game.
The functions of the account receiving unit 21, the arraying unit 22, and the arraying transmitting unit 23 are the same as or similar to those described in fig. 2, and are not described herein again.
The result receiving unit 24 is used for receiving event result data from the game server 30, and the event result data comprises the match result and the member information of each party in the match.
The match results may include the overall scores of the participants and match-related data information.
The member information of each participating party can comprise the platform account number of the member and can also comprise the game account number of the member.
The result transmitting unit 25 may be configured to transmit the result of the tournament to the third party client 10 based on the platform account associated with the game account.
The arraying unit 22 may also decide arraying data for the next round of competition based on the competition result data, and the arraying transmission unit 23 may also transmit the arraying data for the next round of competition to the game server 30.
Wherein the arraying data may further include a game start time. When the preset time length before the competition start time is reached, the third party server 20 sends the arraying data to the game server 30, the game guides the user to enter a competition room, and the competition is started when the members of both teams arrive at the same time.
The arraying data may also include game expiration times. By the time of starting the competition, if one member of the two parties is not full, the right can be treated as the abandoning right. Can be directly used as a late team member to abandon the right, and the competition can be directly carried out under the condition that the number of the two parties participating in the competition is not equal. Or directly abandoning the right as the party with less members and rearranging the new participants to match with the participants with full members.
The arraying data may further include a predetermined timeout time range, that is, a predetermined time range before the starting time point is used as the predetermined timeout time range, and when a member of the two parties participating in the game is not reported on time before the predetermined timeout time range, the game server 30 sends the information that the member of the party is not full to the third party server 20 in time, so that the third party server 20 can rearrange a new member of the game as a spare member to play the game event in time, or directly arrange a new party as a spare member to play the game event.
The collation data may also include the names of the parties involved and information about the members of the parties involved. For example, the names of the parties may be team 1 and team 2, respectively, or other names of the parties that may represent the identity of the parties. The member information may include game account numbers of the members participating in the game, unique identifications of third party users, nicknames, and the like representing identities of the members participating in the game.
FIG. 4 is a diagram of a gaming service implementing a third party event organized by a third party event platform, according to one embodiment of the present invention.
As shown in fig. 4, the game server 30 of the third party event may include an opponent receiving unit 31, a game organizing unit 32, and a result uploading unit 33.
The arraying receiving unit 31 may be configured to receive arraying data from the third-party server 20 of the third-party event platform, where the arraying data may include member information of each participating party, and the member information may include a game account number and a platform account number of a member.
The arraying receiving unit 31 may include a storage unit (not shown in the figure) for storing and recording the arraying data sent from the third party server 20 of the third party event platform, and displaying the arraying data of the third party event registered by the user after the user logs in the game client 40, so that the user can conveniently master the event arrangement and timely participate in the event.
The competition organization unit 32 may organize the parties to play the competition based on the permutation data.
The competition organizing unit 32 may organize competition parties based on the permutation data, for example, the competition parties may be assigned with clothing or rooms of the competition.
The result uploading unit 33 may be configured to send event result data to the third party server 20, where the event result data includes event results and member information of each party involved in the event.
The match results may include the overall scores of the participants and match-related data information.
The member information of each participating party can comprise game account numbers and platform account numbers of the members, personal scores of the members, competition related data information and the like.
The member information of each participating party may also include the platform account number of the member on the third party event platform.
FIG. 5 is a schematic diagram of a method of organizing third party events for a game by a third party event platform, according to one embodiment of the invention.
As shown in fig. 5, in step S210, the third party server 20 may publish the third party event information and send the third party event information to the third party client 10.
In step S110, the third party client 10 may receive the third party event information transmitted by the third party server 20.
In step S120, the third party client 10 may display the third party event information to facilitate the user in selecting a third party event to be registered.
In step S130, after the user determines that the third-party game to be registered, the third-party game may be selected by clicking contact or the like, and the third-party client 10 may pull up the game client 40 of the game corresponding to the third-party game in response to the operation to obtain the game account of the user in the game.
At this time, the user may be in a logged-in state or an unregistered state at the game client 40.
If the user is in the login state on the game client 40, an authorization confirmation interface is displayed on the game client 40, and after the user is authorized and confirmed, the game client 40 pulls up the third party client 10 and transmits back the game account number of the user, so as to associate the game account number of the user with the platform account number of the user on the third party event platform.
If the user is in the unregistered state on the game client 40, a user login interface is displayed on the game client 40, an authorization confirmation interface is displayed on the game client 40 after the user successfully logs in, and after the user is authorized and confirmed, the game client 40 pulls up the third party client 10 and transmits back a user game account number for associating the game account number of the user with a platform account number of the user on a third party event platform.
In step S410, the game client 40 may transmit the game account back to the third party client 10 in order to associate the user' S game account with the platform account of the third party event platform.
In step S130, the third party client 10 may associate the game account and the platform account, and send the associated game account and platform account to the third party server 20, so as to implement a game entry of the third party event.
In step S220, the third party server 20 may receive the associated game account of the user and the platform account of the third party event platform, perform permutation on a plurality of users registering to participate in the third party event based on the associated game account and the platform account, so as to form permutation data, and send the permutation data to the game server 30.
In step S220, the third party server 20 may further send the arraying data to the third party client 10.
In step S140, the third-party client 10 may display the arraying data, so that the user can view the arraying data at the third-party client 10 conveniently.
The third-party server 20 and the game server 30 may synchronize data through an HTTP interface, or may synchronize data through other data interfaces.
Therefore, simple data interfaces can be directly arranged on the game server and the third-party server, the game account is associated with the platform account, the game server can use the game account to organize the user for competition, the third-party platform can use the platform account to manage, and the third-party platform and the game server can realize information communication through the association relationship of the two accounts. Therefore, the game server and the game client can conveniently realize the third-party game of the game.
The arraying data may include information related to third party events as well as membership information for each party participating in the event.
The information related to the third party event may include a unique identifier of the third party event, a name of the third party event, a game map, a game mode, a game suit, and the like.
The member information may include a game account number of the member and may also include a platform account number of a third party platform of the member.
In step S310, the game server 30 may receive the arraying data from the third party server 20 of the third party event platform.
In step S320, the game server 30 may organize the competition tasks based on the permutation data, and organize the competition of the participants.
In step S420, each participant plays the competition at the game client 40, and during the competition, data interaction is performed with the game server 30 in real time.
In step S330, the game server 30 may transmit the event result data back to the third party server 20.
The event result data may include the results of the game and membership information for each of the participating parties.
In step S230, the third party server 20 may receive the event result data transmitted from the game server 30, process the event result data, directly make the match result, or arrange the arraying data of the next round of match.
In step S230, the third party server 20 may transmit the competition result to the third party client 10.
In step S220, the third party server 20 may send the permutation data of the next round of competition to the game server 30, so as to facilitate the next round of competition. This step may be repeated when the third party event is of a longer duration or the number of times the event is played is greater.
In step S150, the third party server 20 may send the competition result to the third party client 10 based on the platform account of the third party platform associated with the game account, and the third party client 10 displays the competition result.
The gaming third party event organization methods and systems according to the present invention have been described in detail above with reference to the accompanying drawings.
Furthermore, the method according to the invention may also be implemented as a computer program comprising computer program code instructions for carrying out the above-mentioned steps defined in the above-mentioned method of the invention. Alternatively, the method according to the present invention may also be implemented as a computer program product comprising a computer readable medium having stored thereon a computer program for executing the above-mentioned functions defined in the above-mentioned method of the present invention. Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems and methods according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Having described embodiments of the present invention, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.