Patent ID: 12250190

DETAILED DESCRIPTION

Embodiments of the present disclosure will be described below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the accompanying drawings, the present disclosure may be embodied in many forms and should not be construed as limited to the embodiments set forth herein.

The various steps recited in method implementations of the present disclosure may be performed in different orders, and/or in parallel. In addition, the method implementations may include additional steps and/or omit performing the shown steps. The scope of the present disclosure is not limited in this respect.

As used herein, the term “include” and its variants are open-ended, that is, “including but not limited to”. The term “based on” is “at least partially based on”. The term “one embodiment” means “at least one embodiment”; the term “another embodiment” means “at least one further embodiment”; and the term “some embodiments” means “at least some embodiments”. Related definitions for other terms will be given in the following description.

The concepts of “first”, “second”, and the like mentioned in the present disclosure are only used for distinguishing different apparatuses, modules, or units, and are not used for limiting the order or interdependence of functions performed by these apparatuses, modules, or units.

The modification of “one” or “multiple” mentioned in the present disclosure is intended to be schematic rather than limitation, and should be understood as “one or more” unless the context clearly indicates otherwise.

The names of messages or information interacted among multiple apparatuses in the implementations of the present disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

FIG.1is a flowchart of a session message display method provided in an embodiment of the present disclosure. The embodiment of the present disclosure is applicable to the case of determining a message display content in a message entry in a session list page according to a session message in a session, the method may be executed by a session message display apparatus, and the apparatus may be implemented by adopting software and/or hardware. The apparatus may be configured in an instant messaging application client mounted in an electronic device. As shown inFIG.1, the method may include steps described below.

In step101, a first session message input by a first user for one or more second users is received on a session page, and the first session message is sent to the one or more second users.

The session is generally divided into a single-chat session and a group-chat session. A single chat refers to a session in which there are only 2 participants in the session. A group chat refers to a session in which there may be 2 or more participants.

The session message has an unread state and a read state. When the session message is sent to the session, if other session participants except a sender do not read the message, the session message is in the unread state, and if all other session participants read the message except the sender, then the session message is in the read state.

The session message is divided into an independent message and a response message. The independent message refers to a session message containing main elements such as a sender, a message content, a session to which the message is sent, and sending time. The response message refers to a session message containing main elements such as a sender, a message content, a session to which this message is sent, sending time, and a response target message. The response message includes a response content message and a response emoji message. The response content message may take any form of character, picture, file or the like as the body of a response. The response emoji message may only take one emoji symbol as the body of the response.

In a specific instance, the session is the single-chat session. Session participants of the session are a first user and one second user. A first session message input by the first user for the one second user is received on a session page, and the first session message is sent to the second user. In an embodiment, an instant messaging application client of the first user acquires the first session message input by the first user for the single-chat session, and sends the first session message to an instant messaging application client of the one second user. The first session message may contain main elements such as the sender, the message content, the session to which this message is sent, and the sending time. The sender of the first session message is the first user.

In another specific instance, the session is the group-chat session. Session participants of the session are a first user and multiple second users. A first session message input by the first user for the multiple second users is received on a session page, and the first session message is sent to the multiple second users. In an embodiment, an instant messaging application client of the first user acquires the first session message input by the first user for the group-chat session, and sends the first session message to instant messaging application clients of the multiple second users.

In step102, a message display content is generated in a message entry of a session list page of the first user according to a reading action and/or a reply action of the one or more second users on the first session message.

The message display content includes the first session message and message state information of the first session message, and the message entry is associated with the second user.

In an embodiment, the message state information includes a read state and an emoji response for the first session message.

For each session, when a session message of the session exists, important information of the session message may be displayed through the message display content in a message entry of the session in the session list. Therefore, the user may know the important information of the session message only on the session list page without entering the session. Previously, the user needs to repeatedly enter the session for checking so as to learn information in time, and now the user does not need manual operations and only needs to keep the session list page open to directly know messages within the session.

In an embodiment, that the message display content is generated in the message entry of the session list page of the first user according to the reading action and/or the reply action of the second user on the first session message may include that: before the second user reads the first session message, the message display content is generated in the message entry of the session list page of the first user, and the message display content includes an unread identifier and the first session message.

Thus, the first user may determine that, only in the message entry associated with the second user of the session list page, the second user has received the first session message and does not read the first session message without entering the session.

In an embodiment, that the message display content is generated in the message entry of the session list page of the first user according to the reading action and/or the reply action of the second user on the first session message may include that: after the second user reads the first session message, the message display content is updated, and the unread identifier is updated into a read identifier.

Thus, the first user may determine that, only in the message entry associated with the second user of the session list page, the second user has read the first session message without entering the session.

In an embodiment, that the message display content is generated in the message entry of the session list page of the first user according to the reading action and/or the reply action of the second user on the first session message may include that: when an emoji response of the second user to the first session message is received, the message display content is updated, and the read identifier is replaced with an emoji icon replied by the second user.

Thus, the first user may determine, only in the message entry associated with the second user of the session list page, whether the second user replies the emoji icon without entering the session.

According to the technical scheme provided in the embodiments of the present disclosure, the message display content is generated in the message entry of the session list page of the first user according to the reading action and/or the reply action of the second user on the first session message, the message display content includes the first session message and the message state information, and the message entry is associated with the second user, so that the message state information of the session message may be intuitively provided through the message display content in the message entry of the session list page, duplicative and inefficient operations that the user needs to repeatedly enter and exit the session for checking a message state in order to obtain the communication progress of the session are avoided, and the processing efficiency of the session message is improved.

FIG.2Ais a flowchart of another session message display method provided in an embodiment of the present disclosure. An embodiment of the present disclosure may be combined with alternative schemes in one or more embodiments described above. In the embodiments of the present disclosure, that the message display content is generated in the message entry of the session list page of the first user according to the reading action and/or the reply action of the second user on the first session message may include that: before the second user reads the first session message, the message display content is generated in the message entry of the session list page of the first user, where the message display content includes an unread identifier and the first session message.

That the message display content is generated in the message entry of the session list page of the first user according to the reading action and/or the reply action of the second user on the first session message may include that: after the second user reads the first session message, the message display content is updated, and the unread identifier is updated into a read identifier.

That the message display content is generated in the message entry of the session list page of the first user according to the reading action and/or the reply action of the second user on the first session message may include that: when an emoji response of the second user to the first session message is received, the message display content is updated, and a read identifier is replaced with an emoji icon replied by the second user.

As shown inFIG.2A, the method may include steps described below.

In step201, a first session message input by a first user for one or more second users is received on a session page, and the first session message is sent to the one or more second users.

Exemplarily,FIG.2Bis a schematic diagram of a session page provided in an embodiment of the present disclosure. The session is a single-chat session. Session participants of the session are the first user and one second user. As shown inFIG.2B, the first user enters the session, and inputs a first session message that “80% has completed, and there is still one question waiting for confirmation, I will reply to you before the end of the day, is that OK?” in the session.

FIG.2Cis a schematic diagram of another session page provided in an embodiment of the present disclosure. An instant messaging application client of the first user acquires a first session message input by the first user for the session, and sends the first session message to an instant messaging application client of one second user “Zhao XX”. As shown inFIG.2C, the first session message that “80% has completed, and there is still one question waiting for confirmation, I will reply to you before the end of the day, is that OK?” is in the in-sending state.

FIG.2Dis a schematic diagram of a session list page provided in an embodiment of the present disclosure. As shown inFIG.2D, in the message entry associated with the second user “Zhao XX” of the session list page, the in-sending identifier21is displayed before the first session message, which represents that the first session message “80% has completed, and there is still one question waiting for confirmation, I will reply to you before the end of the day, is that OK?” is being sent.

In step202, before the second user reads the first session message, the message display content is generated in the message entry of the session list page of the first user, and the message display content includes an unread identifier and the first session message.

Before the second user reads the first session message, the message display content includes the unread identifier and the first session message.

Exemplarily, as shown inFIG.2E, in the message entry associated with the second user “Zhao XX” of the session list page, the unread identifier22is displayed before the first session message, which represents that the first session message “80% has completed, and there is still one question waiting for confirmation, I will reply to you before the end of the work, is that OK?” is sent successfully, and the second user “Zhao XX” has received the first session message and does not read the first session message.

In step203, after the second user reads the first session message, the message display content is updated, and the unread identifier is updated into a read identifier.

In an embodiment, updating the unread identifier into the read identifier may include that the color and/or the brightness of the unread identifier is changed to generate the read identifier.

Exemplarily, as shown inFIG.2F, in the message entry associated with the second user “Zhao XX” of the session list page, the read identifier23is displayed before the first session message, which represents that the first session message “80% has completed, and there is still one question waiting for confirmation, I will reply to you before the end of the day, is that OK?” is sent successfully, the second user “Zhao XX” has read the first session message. The read identifier23inFIG.2Fis generated by changing the color and/or the brightness of the unread identifier22inFIG.2E.

In step204, when an emoji response of the second user to the first session message is received, the message display content is updated, and the read identifier is replaced with an emoji icon replied by the second user.

The second user feeds back session information containing the emoji icon for the first session message. The emoji icon may be any graphic and is used for quickly expressing the attitude and feedback of the second user on the first session message.

When the emoji response of the second user to the first session message is received, the message display content includes the first session message and the emoji icon replied by the second user.

In an embodiment, when the emoji response of the second user to the first session message is received, that the message display content is updated and the read identifier is replaced with the emoji icon replied by the second user may further include that: a separation identifier is added between the emoji icon and the first session message.

Exemplarily, as shown inFIG.2G, in the message entry associated with the second user “Zhao XX” of the session list page, the emoji icon24replied by the second user “Zhao XX” is displayed before the first session message, the separation identifier “|” is provided between the emoji icon24and the first session message that “80% has completed, and there is still one question waiting for confirmation, I will reply to you before the end of the day, is that OK?”, which represents that the first session message that “80% has completed, and there is still one question waiting for confirmation, I will reply to you before the end of the day, is that OK?” is sent successfully, and the second user “Zhao XX” has read the first session message and replies the emoji icon24.

In the session list page of the embodiments of the present disclosure, information that is important for the communication progress within the session is refined, and the information is reorganized in a limited space and displayed to the user. According to the embodiments of the present disclosure, the simplest page elements are adopted, in the message entry associated with the second user of the session list page, various message state information is provided to the maximum extent, so that the disorder of page layout is avoided, and meanwhile, the waste of time for the user to repeatedly enter the session is avoided, the user may intuitively know the state of the session message, and a plan for further communication is facilitated. If the user performs multiple single-chat-session communications with multiple persons at the same time, the effect of efficiency improvement is more obvious. Communication work, which may only be performed in series previously, may now be performed in parallel.

Common instant messaging tools cannot directly check whether session information containing the emoji icon is fed back in the session list, and cannot directly check the emoji icon in the session list. The user still needs to enter the session for checking the emoji icon.

According to the technical scheme provided in the embodiments of the present disclosure, before the second user reads the first session message, the message display content is generated in the message entry of the session list page of the first user, where the message display content includes the unread identifier and the first session message; after the second user reads the first session message, the message display content is updated, and the unread identifier is updated into the read identifier; when the emoji response of the second user to the first session message is received, the message display content is updated, and the read identifier is replaced with the emoji icon replied by the second user, so that various message state information may be provided in the message entry associated with the second user of the session list page, therefore, the user may directly know information within the session only by keeping the session list page open, and the emoji icon replied by the second user may be displayed in the message entry associated with the second user of the session list page, duplicative and ineffective operations that the user needs to repeatedly enter and exit the session for checking whether the opposite side feeds back the emoji icon are avoided, and thus the processing efficiency of the session message is improved.

FIG.3Ais a flowchart of another session message display method provided in an embodiment of the present disclosure. An embodiment of the present disclosure may be combined with alternative schemes in one or more embodiments described above. In the embodiments of the present disclosure, before a first session message input by a first user for one or more second users is received, the method may further include that: a second session message input by one or more second users for the first user is received; and the message display content is generated in the message entry of the session list page of the first user according to the reading action of the first user on the second session message, where the message display content includes the second session message and message state information of the second session message, and the message entry is associated with the second user.

As shown inFIG.3A, the method may include steps described below.

In step301, a second session message input by one or more second users for a first user is received.

In an embodiment, the instant messaging application client of the first user receives the second session message input by the one or more second users for the first user.

In step302, the message display content is generated in the message entry of the session list page of the first user according to a reading action of the first user on the second session message.

The message display content includes the second session message and message state information of the second session message, and the message entry is associated with the second user.

In an embodiment, that the message display content is generated in the message entry of the session list page of the first user according to the reading action of the first user on the second session message may include that: before the first user reads the second session message, the message display content is generated in the message entry of the session list page of the first user, where the message display content includes a received unread identifier and the second session message.

Thus, without entering the session, the first user may determine that, only in the message entry associated with the second user of the session list page, the second session message sent by the second user is received and the second session message is not read.

Exemplarily,FIG.3Bis a schematic diagram of another session list page provided in an embodiment of the present disclosure. A second session message of “how is the work going today?” input for a session by the second user “Zhao XX” is received. As shown inFIG.3B, in the message entry associated with the second user “Zhao XX” of the session list page, the received unread identifier31is displayed on the session identifier32in the message entry associated with the second user “Zhao XX” of the session list page.

In an embodiment, that the message display content is generated in the message entry of the session list page of the first user according to the reading action of the first user on the second session message may include that: after the first user reads the second session message, the message display content is updated, and the received unread identifier is updated into a read identifier.

In an embodiment, that the received unread identifier is updated into the received read identifier includes deleting the received unread identifier.

Thus, without entering the session, the first user may determine that, only in the message entry associated with the second user of the session list page, the second session message sent by the second user has been read.

Exemplarily,FIG.3Cis a schematic diagram of another session list page provided in an embodiment of the present disclosure. As shown inFIG.3C, the unread identifier31is not displayed on the session identifier32in the message entry associated with the second user “Zhao XX” of the session list page, which represents that the first user has read the second session message “how is the work going today?”.

In step303, a first session message input by the first user for the one or more second users is received on the session page, and the first session message is sent to the one or more second users.

In step304, the message display content is generated in the message entry of the session list page of the first user according to a reading action and/or a reply action of the second user on the first session message.

The message display content includes the first session message and message state information of the first session message, and the message entry is associated with the second user.

According to the technical scheme provided in the embodiments of the present disclosure, the second session message input by the one or more second users for the first user is received, and then the message display content is generated in the message entry of the session list page of the first user according to the reading action of the first user on the second session message; where the message display content includes the second session message and the message state information, and the message entry is associated with the second user, so that the message state information of the session message may be intuitively provided through the message display content in the message entry associated with the second user of the session list page, duplicative and inefficient operations that the user needs to repeatedly enter and exit the session for checking the message state in order to obtain the communication progress of the session are avoided, and the processing efficiency of the session message is improved.

FIG.4is a schematic structural diagram of a session message display apparatus provided in an embodiment of the present disclosure. The embodiments of the present disclosure may be suitable for the case of determining a message display content in a message entry on a session list page according to a session message in a session. This apparatus may be implemented in the software and/or hardware manner, and may be configured in an instant messaging application client mounted in an electronic device. As shown inFIG.4, the apparatus may include a message sending module401and a first content generation module402.

The message sending module401is configured to receive a first session message input by a first user for one or more second users on a session page, and send the first session message to the one or more second users. The first content generation module402is configured to generate a message display content in a message entry of the session list page of the first user according to a reading action and/or a reply action of the one or more second users on the first session message. The message display content includes the first session message and message state information of the first session message, and the message entry is associated with the one or more second users.

According to the technical scheme provided in the embodiments of the present disclosure, the message display content is generated in the message entry of the session list page of the first user according to the reading action and/or the reply action of the second user on the first session message, and the message display content includes the first session message and the message state information, and the message entry is associated with the second user, so that the message state information of the session message may be intuitively provided through the message display content in the message entry of the session list page, duplicative and inefficient operations that the user needs to repeatedly enter and exit the session for checking a message state in order to obtain the communication progress of the session are avoided, and the processing efficiency of the session message is improved.

In an embodiment, on the basis of the above technical schemes, the first content generation module402includes a first content generation unit, and the first content generation unit is configured to generate the message display content in the message entry of the session list page of the first user before the second user reads the first session message, where the message display content includes an unread identifier and the first session message.

In an embodiment, on the basis of the above technical schemes, the first content generation module402includes a first content updating unit, and the first content updating unit is configured to update the message display content and update the unread identifier into a read identifier after the second user reads the first session message.

In an embodiment, on the basis of the above technical schemes, the first content generation module402includes a second content updating unit, and the second content updating unit is configured to update the message display content and replace the read identifier with an emoji icon replied by the second user when an emoji response of the second user to the first session message is received.

In an embodiment, on the basis of the above technical schemes, the second content updating unit may further include an identifier addition sub-unit, and the identifier addition sub-unit is configured to add a separation identifier between the emoji icon and the first session message.

In an embodiment, on the basis of the above technical schemes, the first content updating unit may include an identifier changing sub-unit, and the identifier changing sub-unit is configured to change the color and/or brightness of the unread identifier to generate the read identifier.

In an embodiment, on the basis of the above technical schemes, the session message display apparatus may further include a message receiving module and a second content generation module. The message receiving module is configured to receive a second session message input by the one or more second users for the first user. The second content generation module is configured to generate a message display content in a message entry of a session list page of the first user according to a reading action of the first user on the second session message. The message display content includes the second session message and message state information of the second session message, and the message entry is associated with the one or more second users.

The session message display apparatus provided in the embodiments of the present disclosure may execute the session message display method provided in the embodiments of the present disclosure, and has function modules and effects corresponding to the execution method.

Referring toFIG.5,FIG.5shows a schematic structural diagram of an electronic device500suitable for use in implementing embodiments of the present disclosure. The electronic device in the embodiments of the present disclosure may include, but is not limited to, such as a mobile phone, a notebook computer, a digital broadcast receiver, a personal digital assistant (PDA), a portable android device (PAD), a portable media player (PMP), an in-vehicle terminal (such as an in-vehicle navigation terminal). The electronic device shown inFIG.5is merely one example and should not place any limitation on the functionality and the usage scope of the embodiments of the present disclosure.

As shown inFIG.5, the electronic device500may include a processor (such as a central processor, a graphics processor)501, the processor501may perform multiple appropriate actions and processes according to a program stored in a read-only memory (ROM)502or a program loaded into a random access memory (RAM)503from a storage apparatus508. In the RAM503, multiple programs and data required for the operation of the electronic device500are also stored. The processor501, the ROM502, and the RAM503are connected via a bus504. An input/output (I/O) interface505is also connected to the bus504.

In general, the following apparatuses may be connected to the I/O interface505: an input apparatus506including, such as a touchscreen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope; an output apparatus507including, such as a liquid crystal display (LCD), a speaker, a vibrator; a storage apparatus508including, such as a tape, a hard disk; and a communication apparatus509. The communication apparatus509may allow the electronic device500to communicate wirelessly or wired with other apparatuses to exchange data. AlthoughFIG.5shows an electronic device500with a variety of apparatuses, not all shown apparatuses need to be implemented or provided. More or fewer apparatuses may alternatively be implemented or provided.

According to the embodiments of the present disclosure, a process described above with reference to the flowcharts may be implemented as a computer software program. For example, the embodiments of the present disclosure include a computer program product including a computer program carried on a non-transitory computer-readable medium, the computer program contains a program code for performing the methods shown in the flowcharts. In such embodiments, the computer program may be downloaded and installed from a network through the communication apparatus509, or installed from the storage apparatus508, or installed from the ROM502. When this computer program is executed by the processor501, the above-described functions defined in the methods of the embodiments of the present disclosure are executed.

The above-described computer-readable medium of the present disclosure may be a computer-readable signal medium, or a computer-readable storage medium, or any combination of the computer-readable signal medium and the computer-readable storage medium. The computer-readable storage medium may be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. The computer-readable storage medium may include, but is not limited to, a portable computer magnetic disk in an electrical connection with one or more wires, a hard disk, a RAM, a ROM, an erasable programmable read-only memory (EPROM or a flash), an optical fiber, a compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program, which may be used by or in combination with an instruction execution system, apparatus, or device. In the present disclosure, the computer-readable signal medium may include a data signal that is contained in a baseband or propagated as a part of a carrier wave, and the data signal carries a computer-readable program code. Such a propagated data signal may take many forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination thereof. The computer-readable signal medium may also be any computer-readable medium other than the computer-readable storage medium, and the computer-readable signal medium may send, propagate, or transmit a program for being used by or in combination with the instruction execution system, apparatus, or device. The program code contained in the computer-readable medium may be transmitted by using any appropriate medium, including but not limited to an electric wire, an optical cable, a radio frequency (RF), etc., or any suitable combination thereof.

In some implementations, the client and the server may communicate by utilizing any known or future developed network protocol, such as hypertext transfer protocol (HTTP), and may be interconnected with any form or medium of digital data communication (such as a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), an inter-network (such as the Internet), and a peer-to-peer network (such as ad hoc peer-to-peer network), as well as any known or future developed network.

The above-described computer-readable medium may be included in the above-described electronic device, and it may also be separate and not fitted into the electronic device.

The computer-readable medium carries one or more programs, when the one or more programs are executed by the electronic device, the electronic device is enabled to: receive a first session message input by a first user for one or more second users on a session page, and send the first session message to the one or more second users; generate a message display content in a message entry of the session list page of the first user according to a reading action and/or a reply action of the one or more second users on the first session message, where the message display content includes the first session message and message state information of the first session message, and the message entry is associated with the one or more second users.

A computer program code for performing the operations of the present disclosure may be written in one or more programming languages or combinations thereof, the above-described programming languages include, but are not limited to, an object-oriented programming language—such as Java, Smalltalk, C++, and further include a conventional procedural programming language—such as a “C” language or similar programming language. The program code may be executed in the following manners: executed entirely on a user's computer, executed partly on the user's computer, executed as an independent software package, executed partly on the user's computer and partly on a remote computer, or executed entirely on the remote computer or a server. In a case where the remote computer is involved, the remote computer may be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (for example, connected to the external computer through an internet provided by an internet service provider).

The flowchart and block diagram in the drawings illustrate the architecture, functionality, and operation of possible implementations of the method, the apparatus, the electronic device and the computer program product according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of codes, which includes one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the drawings. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the two blocks may sometimes be executed in a reverse order, which depends upon the involved functionality. It should also be noted that each block of the block diagram and/or the flowchart, and combinations of blocks of the block diagram and/or the flowchart, may be implemented by a dedicated hardware-based system that performs a specified function or operation, or by a combination of a dedicated hardware and a computer instruction.

The module, the unit, and the sub-unit described in the embodiments of the present disclosure may be implemented in a software manner or in a hardware manner. Names of the modules, the units, and the sub-units do not constitute the limitation of the module or unit itself in one case, for example, the message receiving module may also be described as “a module that receives the second session message input by the one or more second users for the first user”, the first content updating unit may also be described as “a unit that after the second user reads the first session message, the message display content is updated, and the unread identifier is updated into the read identifier”, and the identifier changing sub-unit may also be described as “a sub-unit that the color and/or the brightness of the unread identifier is changed to generate the read identifier”.

The functionality described above herein may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), an application specific standard part (ASSP), a system-on-a-chip (SOC), a complex programmable logic device (CPLD), etc.

In the context of the present disclosure, a machine readable medium may be a tangible medium that may contain or store programs for use by an instruction execution system, an apparatus, a device, or a combination thereof. The machine readable medium may be a machine readable signal medium or a machine readable storage medium. The machine readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Examples of the machine-readable storage medium include a portable computer diskette in an electrical connection with one or more wires, a hard disk, a RAM, a ROM, an EPROM, a flash memory, an optical fiber, a CD-ROM, an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

Moreover, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in a particular order shown or in a sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while numerous implementation details are contained in the above discussion, these should not be construed as limitations on the scope of the present disclosure. Some features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.

Although the subject matter has been described in language specific to structural features and/or methodological acts, it should be understood that the subject matter defined herein is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely exemplary forms of implementing the present disclosure.