A method comprises, at routers of a network configured to provide connectivity from a multicast receiver to edge routers multihomed to a multicast source of multicast traffic on an Ethernet segment: creating a limited flood domain for the Ethernet segment, wherein the limited flood domain includes boundary routers positioned to make a final decision as to which of the edge routers to send a multicast join for the multicast traffic; by the boundary routers, upon receiving a source announcement that announces the multicast source is active on a particular edge router of the Ethernet segment, locally storing information, provided by the source announcement, which includes a multicast address for the multicast source and identifies a link to the particular edge router; and by boundary router of the boundary routers, upon receiving the multicast join, sending the multicast join to the particular edge router using the multicast address and the link.
Legal claims defining the scope of protection, as filed with the USPTO.
. A method comprising:
. The method of, wherein creating the limited flood domain includes:
. The method of, wherein creating the limited flood domain includes:
. The method of, wherein creating the limited flood domain further includes, by the flooded routers:
. The method of, wherein:
. The method of, wherein the method further comprises, at the current router:
. The method of, wherein the method further comprises, at the current router:
. The method of, wherein creating the limited flood domain further includes, by the boundary routers:
. The method of, wherein:
. The method of, wherein:
. The method of, wherein the routers operate in accordance with a protocol independent multicast (PIM) flooding mechanism (PFM) and source discovery (SD) (PFM-SD) protocol.
. A system comprising:
. The system of, wherein the routers are configured to perform creating the limited flood domain by:
. The system of, wherein the routers are configured to perform creating the limited flood domain by:
. The system of, wherein the flooded routers are configured to perform creating the limited flood domain by:
. The system of, wherein:
. The system of, wherein:
. Non-transitory computer readable media encoded with instructions that, when executed by one or more processors of routers of a network configured to provide connectivity from a multicast receiver to edge routers multihomed to a multicast source of multicast traffic on an Ethernet segment, cause the one or more processors to perform:
. The non-transitory computer readable media of, wherein creating the limited flood domain includes:
. The non-transitory computer readable media of, wherein creating the limited flood domain includes:
Complete technical specification and implementation details from the patent document.
The present disclosure relates generally to techniques for improved flooding of multicast source information in networks with multihomed provider edges.
A protocol independent multicast (PIM) network may be configured in a leaf-spine topology. In a scenario in which a PIM join to receive multicast traffic is sent from a last hop router into the network, the PIM join may reach a first hop router (also referred to as an “edge router” or a “provider edge (PE)”) of the PIM network that is different from where the multicast traffic is being received. The reason for this is that the PIM network implements a join decision as to where to send the PIM join independently of a traffic decision as to which first hop router to send the multicast traffic, which can cause a mismatch. First, consider the join decision. The PIM network floods the PIM join originated from the last hop router on one side of the PIM network to a spine router of the PIM network based on a prefix of a multicast source address in the PIM join. When the spine router receives the PIM join, the spine router decides where to send the PIM join.
In an example in which the multicast source is multihomed to two (ingress) edge routers or PEs that are identified by the (same) prefix, the spine router picks one of the two edge routers randomly and sends the PIM join to the selected edge router. Second, consider the traffic decision. When the multicast source has traffic to send, the multicast cast source randomly picks one of the two multihomed edge routers as an upstream destination for the multicast traffic. The multicast source may select the wrong one of the multihomed edge routers. For example, the join decision may select a first edge router, while the traffic decision selects a second edge router.
Overview
In an embodiment, a method is performed by routers of a network configured to provide connectivity from a multicast receiver to edge routers multihomed to a multicast source of multicast traffic on an Ethernet segment. The method comprises: creating a limited flood domain in the network for the Ethernet segment, wherein the limited flood domain includes boundary routers of the routers positioned to make a final decision as to which of the edge routers to send a multicast join for the multicast traffic; by the boundary routers, upon receiving a source announcement that announces the multicast source is active on a particular edge router of the edge routers of the Ethernet segment, locally storing information, provided by the source announcement, which includes a multicast address for the multicast source and identifies a link to the particular edge router; and by a boundary router of the boundary routers, upon receiving the multicast join, sending the multicast join to the particular edge router using the multicast address and the link.
Example Embodiments
is a block diagram of an example networkthat incudes multihoming of routers on Ethernet segments and in which embodiments presented herein may be implemented. In the example of, networkis a protocol independent multicast (PIM) network that implements an improved PIM flooding mechanism (PFM) and source discovery (SD) (PFM-SD) with multihoming. Networkincludes routersinterconnected with each other over network links in a multilevel or tiered leaf-spine topology. In network, hosts H-Hmay serve as multicast sources or multicast receivers to exchange multicast traffic with each other over network. Networkincludes top tier or border leaf (BL) routers BLand BL, middle tier or spine routers S, S, S, S, and Seach connected to the border leaf routers, and bottom tier leaf or edge routers L-L(also referred to as “provider edge (PE) routers” or simply “provider edges (PEs)”). Edge routers L-Lare grouped such that edge routers L-Lare each connected to routers Sand S, edge routers L-Lare each connected to routers Sand S, and edge routers L-Lare each connected to routers Sand S. In the ensuing description, routers and hosts may be referred to simply by their labels or designations. For example, edge router Land host Hmay be referred to simply as Land H, respectively.
In the example of, hosts H, H, H, and Hare multihomed to pairs of edge routers (L, L), (L, L), (L, L), and (L. L) configured on Ethernet segments ES, ES, ES, and ES(which represent Ethernet segment (ES) identifiers (ESIs) for the Ethernet segments) through multihoming switches MS, MS, MS, and MS, respectively. Thus, host Hoperating as a multicast source may send multicast traffic to either of multihomed edge routers Land Lbased on a random selection made by multihoming switch MS, host Hmay send multicast traffic to either of multihomed edge routers Land Lbased on a random selection made by multihoming switch MS, and so on. Hosts H, H, H, and Hare not multihomed and are only connected to edge routers L, L, L, and L, respectively. Each host Hi may be configured to operate as a multicast source of multicast traffic destined for network, or as a multicast receiver to receive multicast traffic from network. A multicast traffic flow (also referred to simply as “multicast traffic”) is identified by a multicast address (source address (S), group address (G)), as is known. In the example of, Hosts H, H, H, and Hare configured with addresses 10.1.1.1, 20.1.1.1, 30.1.1.1, and 40.1.1.1, which may be multicast source addresses when the hosts act as multicast sources of multicast traffic. By way of example, addresses referenced herein are Internet Protocol (IP) addresses. It is understood that identifiers other than IP addresses may be used in other examples.
The routers of networkimplement an improved PFM-SD with multihoming. In part, PFM-SD provides a flooding mechanism by which the routers of networkflood multicast source and group information across the network. An example in which conventional PFM-SD is used with multihoming is described briefly as an illustration of problems that can arise using the conventional PFM-SD with multihoming. In the example, on the left side of network, host Hacting as a multihomed multicast source becomes active and originates multicast traffic identified by multicast address (10.1.1.1, 232.1.1.10). Multihoming switch MSmakes a traffic decision. Specifically, multihoming switch Mrandomly selects, and directs the multicast traffic to, edge router Lamong multihomed edge routers Land L.
On the right side of network, host Hacting as a multicast receiver joins the multicast group to receive the multicast traffic. To do this, the multicast receiver sends to edge router L(which is connected directly to host H) an internet group management protocol (IGMP) joinspecifying multicast address (10.1.1.1, 232.1.1.10). In response, edge router Lfloods to networka PIM joinfor the multicast address using PFM. Networkfloods PIM joinbased on longest prefix matching (LPM) against source prefix 10.1.1.0/24 in PIM join. The term “flood” means to transmit on all connected ports. Therefore, a router that floods PIM jointransmits the PIM join from all ports of the router that are connected to other routers (referred to as “adjacent” routers). PIM joinfloods from the right side to the left side of networkvia longest prefix matching. Longest prefix matching based flooding by routers BL, BLand S, Smakes next hop (NH) decisions based on the prefix and next hop information shown in example prefix-NH tables Tand Tin. PIM joinarrives at router S.
Under conventional PFM-SD, router Sdoes not know that the multicast source is active specifically on edge router L. Therefore, router Sdoes not know whether to direct PIM jointo edge router Lor edge router L, and makes a random join decision. In the example, router Srandomly selects and directs PIM jointo edge router L, which is the wrong router. Thus, the conventional PFM-SD may send PIM jointo the wrong edge router (also referred to as a first hop router) due to independent join and traffic decisions. Moreover, the conventional PFM-SD floods the PIM join through the entire network, which can be inefficient and may waste router resources.
Accordingly, embodiments presented herein implement PFM-SD with multihoming that is improved or modified to overcome the above described problems and offer other advantages described below. At a high-level, the improved PFM-SD with multihoming employs a multiphase process that creates a limited Ethernet segment flood domain comprising “boundary routers” configured with specific/exact routing and link information that points directly to a particular edge router of routers that are multihomed on an Ethernet segment and to which a multicast source sends multicast traffic, i.e., on which the multicast source is active. Subsequently, when a multicast join (e.g., a PIM join) for the multicast traffic arrives at a boundary router of the boundary routers via flooding, the boundary router correctly directs the multicast join to the particular edge router on which the multicast traffic is active based on the specific routing and link information. The specific routing and link information is complete or exact, meaning that the particular edge router can send the multicast join directly to the particular edge router without additional routing or link information, and without using longest prefix matching, which does not provide an exact route. In addition, the boundary router prevents further flooding of the PIM join. Thus, the embodiments limit flooding to the limited Ethernet segment flood domain and correctly match the multicast join to the particular edge router that should receive the multicast join.
In the example of, the improved PFM-SD with multihoming creates/designates a limited Ethernet segment flood domain(also referred to simply as a “limited flood domain”) for Ethernet segment EScomprising routers Sand Seach configured with locally stored routing and link information pointing directly to (multihomed) edge router Lon which the multicast traffic is active. Subsequently, when PIM joinarrives at either of the boundary routers (e.g., boundary router S), the boundary router correctly directs PIM joindirectly to edge router Lbased on the routing and link information, without flooding, and stops further flooding of the PIM join.
The routers of networkalso implement network-based techniques by which the routers discover each other and determine path costs to each other. For example, the routers may implement any known or hereafter developed protocols (e.g., IGMP) by which the routers discover each other, compute the path costs, and store the path costs locally (i.e., each router stores path costs leading from the router to other routers). The routers employ the path costs to implement the improved PFM-SD with multihoming, as described below.
is a high-level flowchart of an example methodof the improved PFM-SD with multihoming. The improved PFM-SD with multihoming may be implemented in multiple sequential phases. A first phase (phase) creates a limited flood domain (which may also be referred to as an “Ethernet segment decision boundary”) in networkcomprising boundary routers for an Ethernet segment that includes multihomed edge routers. A second phase (phase) configures the boundary routers with information that specifies a direct link to a particular edge router on which a (multihomed) multicast source is active. A third phase (phase) directs a PIM join for the multicast source to the particular edge router and limits flooding of the multicast join.
At, phasecreates the limited flood domain (e.g., limited flood domain) in networkfor an Ethernet segment (e.g., ES) on which edge routers (e.g., edge routers L, L) are multihomed to a host (e.g., host H), which may act as a multicast source of multicast traffic. The limited flood domain comprises designated boundary routers (e.g., routers S, S) that are in a “best” position to direct a (subsequent) multicast join (e.g., PIM join) for the multicast traffic originated on the Ethernet segment to a particular edge router of the edge routers that are multihomed on the Ethernet segment. In an example, being in the “best” position means having lowest cost reachability (i.e., lowest path cost) to the edge routers. The limited flood domain is the Ethernet segment decision boundary at which the boundary routers are positioned to make final exact decisions as to where to direct the multicast join. Each boundary router represents a position in the topology of networkwhere a path to the edge router does not diverge.
Phasebegins when the edge routers are configured as multihomed routers on the Ethernet segment, and discover each other as multihomed peers. When a first edge router of the multihomed routers discovers a peer (e.g., a second edge router of the multihomed routers) on the Ethernet segment, the first edge router creates a new type of PFM-SD message, referred to as an “ES announcement,” and floods the ES announcement into network. The ES announcement announces the Ethernet segment for the multihomed routers. The ES announcement is configured to cause all routers to which the ES announcement is flooded (referred to as “flooded” routers) to (i) exchange with each other, via the ES announcement (or modified versions thereof), respective path costs leading from the flooded routers to the peer (e.g., to the second edge router of the multihomed routers), (ii) compare the respective path costs, and (iii) designate selected ones (i.e., some, but not all) of the flooded routers as boundary routers for the announced Ethernet segment. Phaseends when the limited flood domain has been created and the boundary routers for the Ethernet segment have been designated.
At, phase, which follows phase, starts when a multicast source (e.g., host H) becomes active on a particular edge router (e.g., edge router L) of the multihomed routers of the Ethernet segment announced in phase. When the multicast source becomes active on the particular edge router, the particular edge router floods towards networka source announcement that advertises the Ethernet segment, i.e., includes the ESI of the Ethernet segment. The source announcement also includes a multicast address (S, G) of multicast traffic originated by the multicast source, an address of the particular edge router on which the multicast source is active, and link information (e.g., including port identities) that specifically identifies a direct link to the particular edge router on which the multicast source is active. The particular edge router floods the source announcement to the boundary routers in the limited flood domain of the Ethernet segment.
Upon receiving the source announcement, the boundary routers locally store the information provided in the ES announcement, including the ESI for the Ethernet segment and the link information that specifically identifies the link to the particular edge router on which the multicast source is active, so that the boundary routers know specifically where to direct a subsequent multicast join for the multicast traffic, without having to access other routing information. The boundary routers also flood the source announcement. When the source announcement arrives at non-boundary routers, the non-boundary routers reject the source announcement and do not flood the source announcement any further. Therefore, flooding of the source announcement is limited to the limited flood domain. At this point, phaseis complete.
At, phase, which follows phase, starts when a third edge router (e.g., edge router L) receives an IGMP join for the multicast traffic from a multicast receiver (e.g., H). In response, the third edge router floods a PIM join (e.g., PIM join) to network. Networkfloods the PIM join using longest prefix matching until the PIM join arrives at a boundary router (e.g., router S) among the boundary routers. Configured with locally stored information established in phasesand, the boundary router specifically directs the multicast join to the particular edge router (e.g., edge router L) on which the multicast source is active based on the multicast address in the PIM join, the ES, and the link information. Boundary routers that receive the PIM join do not flood the PIM join further, and thus limit such flooding.
Phases,, andare described in further detail below with reference to specific examples.
Phase. The first phase includes two operations described below in connection with.is an illustration of a network segmentof networkuseful for describing a first operation of the first phase. The first operation is also referred to as “ES announcement.” Network segmentincludes edge routers Land Lmultihomed to host Hon Ethernet segment ES, as described above. In the example of, edge routers Land Lhave respective addresses 11.1.1.1 and 21.1.1.1. When edge router Ldetects edge router Las a multihomed peer, edge router Lcreates an ES announcementand floods the ES announcement toward/into network(which is referred to as an “initial” flood) with the intent to create a limited flood domain for Ethernet segment ES. Similarly, when edge router Ldetects edge router Las a multihomed peer, edge router Lcreates/originates an ES announcement (not shown) similar to ES announcementand floods the ES announcement toward/into network. A description of the initial flood and router processing associated with ES announcementcreated by edge router Lshall suffice for router processing associated with the ES announcement created by L, which is similar to the former.
ES announcementincludes the following information:
is an illustration of network segmentuseful for describing a second operation of the first phase that follows the first operation described above in connection with. The second operation includes router processing of ES announcement(and modified versions thereof) after the initial flood. Router S(referred to as the “current” router) receives ES announcementfrom edge router L(which is the “previous” router with respect to S) and determines whether to process the ES announcement or drop the ES announcement (i.e., reject the ES announcement, without further processing). To determine whether to process ES announcementor reject the ES announcement, router Sperforms the following:
In the example of, edge router Lhas a cost=2 to peer L, while router Shas a cost=1 to peer L. Thus, the cost from router Sto peer Lis less than the cost with which the ES announcement arrived. Accordingly, router Saccepts the ES announcements, marks itself as a boundary router for Ethernet segment ES, updates the ES announcement with the address of router Sand the cost of router Sto peer L, and floods the ES announcement as modified (e.g., floods an ES announcement).
Router BLreceives the (modified) ES announcementflooded by router Sand performs the same general processing as router S; however, in this case, the local/current cost=2 from router BLto peer L, which is greater than the previous cost=1 from router Sto peer Lwith which the ES announcement arrived. Accordingly, router BLrejects the ES announcementwithout further processing. Router BLdoes not mark itself as a boundary router (i.e., router BLis a non-boundary router) and does not flood the ES announcementfurther. Router BLmay designate itself as a non-boundary router for the Ethernet segment. The fact that the cost from router BLto peer Lis greater than the cost from router Sto peer Lis an indication that the ES announcement is crossing a limited flood domain boundary of the Ethernet segment, router BLis immediately outside of that boundary, and the ES announcement should not be flooded further.
Phase. As mentioned above, the second phase is triggered after phasecreates the limited flood domain for the Ethernet segment, and when a multicast source becomes active on a particular edge router of the multihomed routers for the Ethernet segment. An example of phaseis described with reference again to, in which edger router Lis the particular edge router on which multicast source His active on Ethernet segment ES. Upon detecting that multicast source His active on Ethernet segment ES(and the multicast source is sending multicast traffic to edge router L), edge router Lcreates a source announcement and floods the same to networkusing PFM. The source announcement includes (i) the multicast address (S, G) for the multicast traffic, (ii) the ESI (e.g., ES) for the Ethernet segment, and (iii) link information that specifically identifies the connection to the edge router L(e.g., the particular edge router that created the source announcement). Edge router Lfloods the source announcement to network.
When a router flooded by the source announcement receives the source announcement, the router determines whether it is a boundary router for the Ethernet segment having the ESI (e.g., ES) carried in the source announcement. For example, the router determines whether it is designated as a boundary router, i.e., whether its local boundary flag is set to the value that indicates that the router is a boundary router, and whether the local boundary flag is associated with the ESI.
When the router is a boundary router (e.g., router S) for the Ethernet segment (e.g., ES) indicated in the source announcement, the boundary router:
On the other hand, when the router is not a boundary router, the router drops the source announcement, which limits flooding the source announcement and soring of information in the source announcement to the limited flood domain.
At the end of phase, all of the boundary routers (and only the boundary routers) have specific link information leading to the particular edge router (e.g., edge router L).
Phase. Phaseuses the boundary router configurations established by phasesand. Phaseis described by way of example with reference again to. As mentioned above phasestarts when edge router Lreceives IGMP joinfor multicast traffic originated by multicast source H, active on edge router L. In response, edge router Lfloods PIM jointo networkusing PFM. PIM joinarrives at boundary router Sfor Ethernet segment ES. Boundary router Sspecifically directs PIM jointo edge router Lon which the multicast source is active based on the multicast address asserted by PIM join, the ESI, and the link information stored locally. Boundary routers that receive PIM joindo not flood the PIM join further, and thus limit such flooding.
is an illustration of an example source announcement. Source announcementincludes a message type fieldthat indicates “source announcement.” Source announcementfurther includes an ESI, an addressof a router flooding the source announcement, a multicast address (S, G), and link informationidentifying a link and/or port for the router that created the source announcement.
is a flowchart of another example methodof performing the improved PFM-SD with multihoming. Operations of methodare described above.
At, routers of a network, configured to provide connectivity from a multicast receiver to edge routers multihomed to a multicast source of multicast traffic on an Ethernet segment, create a limited flood domain for the Ethernet segment. The limited flood domain includes boundary routers positioned to make a final, and complete/exact, decision as to which of the edge routers to send a multicast join for the multicast traffic. The boundary routers may have least cost paths leading to the edge routers, for example. Creating the limited flood domain may include flooding, into the network from the edge routers, ES announcements configured to announce the Ethernet segment and to cause flooded routers among the routers to which the ES announcements are flooded to perform creating the limited flood domain for the Ethernet segment. The flooded routers, via the ES announcements, exchange respective path costs to the edge routers, compare the respective path costs to each other, designate the boundary routers based on results of comparing.
In some embodiments, the flooded routers exchange the ES announcements by propagating an ES announcement of the ES announcements originated at an edge router of the edge routers hop-by-hop from a previous router to a current router of the flooded routers. The ES announcement includes a previous path cost from the previous router to a peer of the edge router. Upon receiving the ES announcement at the current router, the current routers determines whether the previous path cost is greater than a current path cost from the current router to the peer. When the previous path cost is not greater than the current path cost, the current routers designates itself as one of the boundary routers, replaces the previous path cost in the ES announcement with the current path cost, and floods the ES announcement from the current router. On the other hand, when the previous path cost is greater than the current path cost, the current router does not perform any of designating, replacing, and flooding the ES announcement from the current router.
Upon receiving a source announcement that announces the multicast source is active on a particular edge router of the edge routers of the Ethernet segment, at, the boundary routers locally store information provided by the source announcement. The information in the source announcement includes an Ethernet segment identifier of the Ethernet segment, a multicast address for the multicast source, and specifically identifies a link to the particular edge router.
Upon receiving the multicast join as a result of the multicast join being flooded through the network using longest prefix matching against a multicast source address in the multicast join, at, a boundary router of the boundary routers sends the multicast join to the particular edge router using the multicast address and the link without further flooding of the multicast join.
Referring to,illustrates a hardware block diagram of a computing devicethat may perform functions associated with operations discussed herein in connection with the techniques depicted in. In various embodiments, a computing device or apparatus, such as computing deviceor any combination of computing devices, may be configured as any entity/entities as discussed for the techniques depicted in connection within order to perform operations of the various techniques discussed herein. For example, computing devicemay represent each of the routers of networkand each of the hosts connected to the network.
In at least one embodiment, the computing devicemay be any apparatus that may include one or more processor(s), one or more memory element(s), storage, a bus, one or more network processor unit(s)interconnected with one or more network input/output (I/O) interface(s), one or more I/O interface(s), and control logic. In various embodiments, instructions associated with logic for computing devicecan overlap in any manner and are not limited to the specific allocation of instructions and/or operations described herein.
In at least one embodiment, processor(s)is/are at least one hardware processor configured to execute various tasks, operations and/or functions for computing deviceas described herein according to software and/or instructions configured for computing device. Processor(s)(e.g., a hardware processor) can execute any type of instructions associated with data to achieve the operations detailed herein. In one example, processor(s)can transform an element or an article (e.g., data, information) from one state or thing to another state or thing. Any of potential processing elements, microprocessors, digital signal processor, baseband signal processor, modem, PHY, controllers, systems, managers, logic, and/or machines described herein can be construed as being encompassed within the broad term ‘processor’.
In at least one embodiment, memory element(s)and/or storageis/are configured to store data, information, software, and/or instructions associated with computing device, and/or logic configured for memory element(s)and/or storage. For example, any logic described herein (e.g., control logic) can, in various embodiments, be stored for computing deviceusing any combination of memory element(s)and/or storage. Note that in some embodiments, storagecan be consolidated with memory element(s)(or vice versa), or can overlap/exist in any other suitable manner.
In at least one embodiment, buscan be configured as an interface that enables one or more elements of computing deviceto communicate in order to exchange information and/or data. Buscan be implemented with any architecture designed for passing control, data and/or information between processors, memory elements/storage, peripheral devices, and/or any other hardware and/or software components that may be configured for computing device. In at least one embodiment, busmay be implemented as a fast kernel-hosted interconnect, potentially using shared memory between processes (e.g., logic), which can enable efficient communication paths between the processes.
In various embodiments, network processor unit(s)may enable communication between computing deviceand other systems, entities, etc., via network I/O interface(s)(wired and/or wireless) to facilitate operations discussed for various embodiments described herein. In various embodiments, network processor unit(s)can be configured as a combination of hardware and/or software, such as one or more Ethernet driver(s) and/or controller(s) or interface cards, Fibre Channel (e.g., optical) driver(s) and/or controller(s), wireless receivers/transmitters/transceivers, baseband processor(s)/modem(s), and/or other similar network interface driver(s) and/or controller(s) now known or hereafter developed to enable communications between computing deviceand other systems, entities, etc. to facilitate operations for various embodiments described herein. In various embodiments, network I/O interface(s)can be configured as one or more Ethernet port(s), Fibre Channel ports, any other I/O port(s), and/or antenna(s)/antenna array(s) now known or hereafter developed. Thus, the network processor unit(s)and/or network I/O interface(s)may include suitable interfaces for receiving, transmitting, and/or otherwise communicating data and/or information in a network environment.
I/O interface(s)allow for input and output of data and/or information with other entities that may be connected to computing device. For example, I/O interface(s)may provide a connection to external devices such as a keyboard, keypad, a touch screen, and/or any other suitable input and/or output device now known or hereafter developed. In some instances, external devices can also include portable computer readable (non-transitory) storage media such as database systems, thumb drives, portable optical or magnetic disks, and memory cards. In still some instances, external devices can be a mechanism to display data to a user, such as, for example, a computer monitor, a display screen, or the like.
In various embodiments, control logiccan include instructions that, when executed, cause processor(s)to perform operations, which can include, but not be limited to, providing overall control operations of computing device; interacting with other entities, systems, etc. described herein; maintaining and/or interacting with stored data, information, parameters, etc. (e.g., memory element(s), storage, data structures, databases, tables, etc.); combinations thereof; and/or the like to facilitate various operations for embodiments described herein.
The programs described herein (e.g., control logic) may be identified based upon application(s) for which they are implemented in a specific embodiment. However, it should be appreciated that any particular program nomenclature herein is used merely for convenience; thus, embodiments herein should not be limited to use(s) solely described in any specific application(s) identified and/or implied by such nomenclature.
In various embodiments, any entity or apparatus as described herein may store data/information in any suitable volatile and/or non-volatile memory item (e.g., magnetic hard disk drive, solid state hard drive, semiconductor storage device, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM), application specific integrated circuit (ASIC), etc.), software, logic (fixed logic, hardware logic, programmable logic, analog logic, digital logic), hardware, and/or in any other suitable component, device, element, and/or object as may be appropriate. Any of the memory items discussed herein should be construed as being encompassed within the broad term ‘memory element’. Data/information being tracked and/or sent to one or more entities as discussed herein could be provided in any database, table, register, list, cache, storage, and/or storage structure: all of which can be referenced at any suitable timeframe. Any such storage options may also be included within the broad term ‘memory element’ as used herein.
Note that in certain example implementations, operations as set forth herein may be implemented by logic encoded in one or more tangible media that is capable of storing instructions and/or digital information and may be inclusive of non-transitory tangible media and/or non-transitory computer readable storage media (e.g., embedded logic provided in: an ASIC, digital signal processing (DSP) instructions, software [potentially inclusive of object code and source code], etc.) for execution by one or more processor(s), and/or other similar machine, etc. Generally, memory element(s)and/or storagecan store data, software, code, instructions (e.g., processor instructions), logic, parameters, combinations thereof, and/or the like used for operations described herein. This includes memory element(s)and/or storagebeing able to store data, software, code, instructions (e.g., processor instructions), logic, parameters, combinations thereof, or the like that are executed to carry out operations in accordance with teachings of the present disclosure.
In some instances, software of the present embodiments may be available via a non-transitory computer useable medium (e.g., magnetic or optical mediums, magneto-optic mediums, CD-ROM, DVD, memory devices, etc.) of a stationary or portable program product apparatus, downloadable file(s), file wrapper(s), object(s), package(s), container(s), and/or the like. In some instances, non-transitory computer readable storage media may also be removable. For example, a removable hard drive may be used for memory/storage in some implementations. Other examples may include optical and magnetic disks, thumb drives, and smart cards that can be inserted and/or otherwise connected to a computing device for transfer onto another computer readable storage medium.
Unknown
March 24, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.