Individuals are increasingly challenged with the issues of information overload and correlation of information from heterogeneous sources. Different users have varying roles, tasks, missions, goals and agendas, knowledge and background, and personal preferences. As such, these different users typically need different pieces of the available information, ranging from real time information relating to a current task to, for example, an overall resolution strategy for a project that might be global in nature. However, it current systems are unable to quantify what purposeful information individuals need to do their job or process through their daily workflow.
Decision makers are also increasingly challenged with making sense of today's complex transdisciplinary data landscape against a managed, yet emergent, set of business questions. Compound questions are aimed at complex knowledge networks with little success of resolving due to unknown and/or unfamiliar relationships within the data landscape, as well as unidentified causality or disruptive emergent properties within the knowledge network.
Known solutions take the form of uni-disciplinary data representations with fixed windows into vertical metrics of data and data silos. However, these solutions are unable to provide transdisciplinary structural and behavioral views of causality and emergence within the entirety of an organization as networks linked data, not data silos.
The disclosed examples are described in detail below with reference to the accompanying drawing figures listed below. The following summary is provided to illustrate examples or implementations disclosed herein. It is not meant, however, to limit all examples to any particular configuration or sequence of operations.
In one implementation, a system for generating a digital representation of an organization network graph includes at least one processor and at least one memory comprising computer program code. The at least one memory and the computer program code are configured to, with the at least one processor, cause the at least one processor to: obtain ontology and contextual data for a plurality of domains; generate an ontological knowledge graph using the ontology and contextual data, the ontological knowledge graph comprising a plurality of nodes with links between the plurality of nodes, the plurality of nodes contained within a spherically represented data structure; and display the plurality of nodes with the links in a digital view within the spherically represented data structure.
The disclosed examples are described in detail below with reference to the accompanying drawing figures listed below:
Corresponding reference characters indicate corresponding parts throughout the drawings in accordance with an example.
The various examples will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made throughout this disclosure relating to specific examples and implementations are provided solely for illustrative purposes but, unless indicated to the contrary, are not meant to limit all implementations.
The foregoing summary, as well as the following detailed description of certain implementations will be better understood when read in conjunction with the appended drawings. As used herein, an element or step recited in the singular and preceded by the word “a” or “an” should be understood as not necessarily excluding the plural of the elements or steps. Further, references to an implementation or an example are not intended to be interpreted as excluding the existence of additional examples that also incorporate the recited features. Moreover, unless explicitly stated to the contrary, examples “comprising” or “having” an element or a plurality of elements having a particular property could include additional elements not having that property.
Aspects and implementations disclosed herein are directed to solutions that enable visual navigation and interrogation of data structures in multiple domains In some examples, a digital twin model of a knowledge based structure in the form of transdisciplinary socio-technical networks and/or meta-knowledge graphs for human-readable high dimensional visual representations. (e.g., 150,000+ node-network with each node reflecting a person in an organization) allows for more efficient and intuitive interrogation of the data structures. For example, the visual navigation and interrogation of this network, including a meta-knowledge graph model allows users (e.g., decision makers) improved interfacing with the data structures. Users are able to quickly see and experience the structure and behavior of the organization with data structures and their connections with lenses into graph model influences and also identify business performance causality and emergence by following a sequence of related indicators or “digital threads”. As a result, “digital knowledge threads” can be processed while concurrently evaluating impacts and resolving across the an eco-system of an organization to determine different properties (e.g., operational excellence, safety, quality, schedule, cost and customer) to make timely and accurate determinations against one or more problem sets. In one example, the digital twin model, being a socio-technical network meta-knowledge graph in Model-Based Systems Engineering (MBSE), allows for classifying and governing a system by application to a human-centric system.
As used herein, in some examples, a knowledge graph refers to a graph that characterizes a digital representation and visual language, based on worldbuilding logic, for objects and interrelations organized in an ontological graph from which new emergent and causal knowledge may be derived and extracted. A knowledge graph structure in some examples corresponds to nodes (objects in a domain) in combination with links (connections between nodes based on node property associations) assembled into a visual ontological representation of a domain. The knowledge graph digital representation is the visual artifact revealing the structure of the organization as a system world-model.
The present disclosure provides multi-disciplinary data representations with dynamic windows, wherein a cross-domain ontology model crosses discipline boundaries and provides, for example, transdisciplinary structural and behavioral views of causality and emergence within the entirety of an organization's structure. For example, transdisciplinary centrality and modularity of intellectual capital are provided with interactive digital views as a “world metaphor”.
Aspects of the disclosure have a technical effect of improved operation of a computer, for example by improving the efficiency of computational hardware, and provide better allocation of resources, as compared to traditional systems that rely on, for example uni-disciplinary data representations. Aspects of the disclosure are able to advantageously ontologically represent an organizational structure with causal and emergent properties within the digital twin model, which can be visually interrogated with horizontal, vertical and transverse movement in 4D space (i.e., X, Y, Z, time).
Referring more particularly to the drawings,
The system 100 is configured with a socio-technical network 102 and a digital engineering body of knowledge (BoK) 104 to create a digital representation 108 (e.g., a digital representation of a large organization) using trans disciplinary ontological knowledge model(s) 106. The digital representation 108 is then queried to, for example, provide insights regarding causal elements associated with the query provided. For example, a user interface 110 receives user input 112 (e.g., a query, interrogation, navigation etc.) that is performed on the digital representation 108. In the illustrated example, MBSE for an organization is deployed within an operating environment 114 that includes a digital twin model 116 as the trans disciplinary ontological knowledge model(s) 106 and hosted on a computing device 100, which is described in more detail in relation to
Thus, the system 100 provides a data structure containing a combination of personal/professional data (e.g., education, years of service, etc.), explicit social networks (e.g., connections in professional social platforms), tacit social networks (e.g., people emailed, number of times emailed, recipients' programs, etc.), programs, success of programs, etc., wherein ontological models are created based on the data structure and user provided queries. The displayed information is provided via the user interface 110 (e.g., a graphical user interface) within a “world view” (See
It should be noted that the visualization can be represented in different ways, which in one example, includes a “world view” of the ontologically connected data structures. For example, the organizational digital twin (digital twin model 116) is represented graphically, wherein the various types of knowledge, networks, tools, etc., are represented by a series of rings and the concentration of queried elements as spikes on a map as described in more detail herein.
Thus, some examples of an infrastructure provide each information consumer and producer with a customized, cross-domain, knowledge system that provides access to relevant information, integrated from multiple sources across multiple domains, in the context of intellectual capital, while contributing to the building and sharing of collective information space and knowledge. As shown in
The present disclosure allows for leveraging the tacit knowledge across, for example, a large organization wherein work is performed on multiple programs and efforts distributed throughout the world. The individuals at these organizations leverage a combination of knowledge, social networks and tools to advance the organization's goals, which can be interrogated and viewed with the present disclosure, including identifying tacit knowledge that directly impacts the quantity and quality of the data used by an organization to make decisions. Thus, various examples allow for identification of tacit knowledge through a cross-domain ontology model approach (and presented in a digital view), thereby improving over explicit/static knowledge identification through typical social network analysis (e.g., LinkedIn).
In operation, at run time, the data repository 230 provides modeling information and receives query results from a number of source applications. Some of these source applications include, for example, an information integration application 240, a workflow engine 242, a Pub/Sub engine (define) 244, a monitor/change detection engine 246, an adaptation engine 248, desktop interaction 250, knowledge model 252, Digital Engineering Ecosystem 254, and any other agents 256, all of which are implemented in one example as web services utilizing one or more of an HTTP or SOAP protocol 260.
With reference now to
For example, upon receiving a user input/question (which corresponds to the question layer 302) at user interface 110, the information architecture 200 in
For example, as illustrated in
In various examples, the nodes 404 are primary nodes on the base layer of a knowledge graph that are considered “base-nodes”. In one example, each node 404 is a container for knowledge. That is, each node 404 is a knowledge container or shell for the individual, wherein the knowledge container includes tacit and explicit knowledge of the individual. In various examples, each node 404 manufactures and/or publishes knowledge. That is, each node 404 in some examples is a container or shell that is a proxy for an agent (e.g., an artifact of knowledge that has been meta-structured). The nodes 404 thereby define agents as sources of insights, such as of tacit knowledge of individuals, that is displayed in a “human” view. Thus, in some examples, each node 404 has attributes in critical knowledge and skills, systems, programs, tools, and social networks. In the examples provided herein, each base node has a defining geometric shape in the digital twin digital representation. Non base-nodes default to a spherical defining geometry shape in the digital twin digital representation.
The digital view 400 is configured to allow navigation and interrogation of the data represented by the nodes 404. In some examples, one or more properties of the nodes 404 facilitate the navigation and interrogation operations. In one example, one or more nodes 404 have connection to one or more other nodes 404. The connections are associations to people, systems, programs, tools, processes, knowledge artifacts, critical knowledge points, etc. The associations in various examples are defined by ontological relationships, such as defined by the trans disciplinary ontological knowledge model(s) 106. Thus, in some implementations, the color, size, location, orientation, etc. of the nodes 404 or objects associated with the nodes 404 represents one or more properties of the nodes 404. For example, as the user navigates/interrogates the data represented by the nodes 404, and with reference now to
As can be seen, in
The world view 402 is configured having a wireframe of geometric design in some examples. The elements within the knowledge sphere 406 represent people and communities, wherein the nodes 404 are arranged by modularity in some examples (e.g., at the information layer 306). In one example, clusters of the nodes 404 present different representations. For example, clusters of nodes 404 form an outline definition of experiential User Interface (XUI) “world view”. In the world view 402, using the user interface 110, a user can zoom and/or maneuver within the world view 402 to navigate and/or interrogate the data within the knowledge sphere 406, such as to identify different nodes 404. It should be noted that as zooming and maneuvering is performed, the types or granularity of the nodes 404 can change. For example, an initial zoom operation results in the nodes 404 being knowledge nodes. A further zoom operation results in the nodes 404 being program knowledge nodes. It should be noted that spherical geometry is provided at viewing scales greater than a defined value and human geometry is provided at viewing angles less than the defined value.
In one example, the digital view 400 represents an organization as a system digital twin, such as a socio-technical network of the organization defined by model logic. In this example, the knowledge sphere 406 defines a knowledge container that encapsulates the socio-technical network. It should be appreciated that knowledge represented within the knowledge sphere 406 is internal knowledge (knowledge within the organization). That is, the knowledge sphere 406 is a container that represents an embodiment of internal knowledge. The knowledge sphere 406 in one example is further configured as a container that separates internal knowledge from external knowledge. That is, any representations (e.g., nodes 404) outside of the knowledge sphere 406 represent external knowledge (knowledge outside the organization). Thus, multiple knowledge lenses can be defined to be organization internal or organization external.
Thus, in some examples, the knowledge sphere 406 is a spherical knowledge container of internal knowledge, wherein the spherical knowledge container is the bounding area and geometric surface of the organization as a system world-model. As described in more detail herein, the spherical knowledge container boundary separates internal knowledge from external knowledge, wherein high ranking centrality nodes may gravitate to the spherical knowledge container surface.
In one example, each node 404, which can be a base-node is configured to have an internal view of the properties of the node 404 in the form of a circular graph network. One example of the circular graph network is a taxonomy/genome mapping 400 as illustrated in
The properties and interconnection of the nodes 404, either individually or in combination, are represented within the knowledge sphere 406, such as illustrated in
With reference now to
Thus, high ranking centrality nodes, such as the nodes 804, having transactions from outside (external) the knowledge container undergo modularity influence from these transactions and, in some examples, break the surface of the container to form terrain topology on the knowledge container surface. In some examples, the terrain topology aligns to the world business model concept and archetype, wherein the world model archetype reflects the business and/or intellectual capital eco-system. It should be noted that the terrain topology is an expression of external (business) forces and the amount of node volume penetrating the knowledge container is associated with the volume of external transactions.
With reference now to
Additionally, in one example, as illustrated in
Thus city objects 906 in geometry form populate the surface of any one node reflecting an expression of metrics, business performance indicators, and/or question status in some examples. The city objects 906 on domain nodes and/or terrain topology nodes express business transactions and externals engagement metrics in some examples, and the city objects 906 are transactional to the internal knowledge container or external knowledge objects and influences. The city objects 906 are, thus, rooted inside the knowledge container through the supporting socio-technical network. Every city object 906 has a critical path within the socio-technical network that sustains the structure and behavior thereof. City object critical paths highlight nodes and links that represent causality within the intellectual capital socio-technical network as described in more detail herein. It should be noted that the overall dynamics of node behavior and the city object critical paths identify emergence within the socio-technical network in some examples. This emergence can be represented by new nodes (new knowledge or domain properties being generated by the interaction of base-nodes and/or base-node domain properties.)
It should be appreciated that the various elements and objects can express different properties or features. Moreover, the various elements and objects can be sized, shaped, configured, etc. differently, such as to better visually present the expression to which the element or object corresponds.
With reference now to
It should be appreciated that the translation maintains data depth in the isometric perspective. It should also be appreciated that other types of translations can be performed. For example, the data models can be translated into geometry models.
Variations and modifications are contemplated. For example, the knowledge network in some examples is mapped pivoting on people, such as domains for people and people taxonomies. As another example, an analysis is performed on the knowledge network for centrality and modularity
Thus, various examples provide a cross-domain ontological digital view that facilitates maneuvering and interrogating trans-disciplinary and/or cross-domain data. For example,
Additionally, as can be seen, a critical path 1200 is also indicated. In this example, the critical path 1200 identifies critical knowledge point connections between node 1208 and the program node 1200.
It should be noted that the base of knowledge is defined by the knowledge containers or shells corresponding to individuals within the program node 1200. For example, with respect to a person knowledge node, each node has distinctive skill indicators and unique knowledge indicators. In some examples, zooming in results in display of the node 1208 as personal digital twin avatar 1300 of the individual with individual specific indicators (e.g., showing circumnavigational critical knowledge points), as shown in
With the above discussed implementation, improved operational performance is enabled through accelerated access and understanding to transdisciplinary data relationships and knowledge that represent the organization structure and behavior. The visual navigation and interrogation of the digital twin model 116 for the organization system allows for decision makers to see and experience the intellectual capital flow within the business eco-system of the organization with the opportunity to identify, for example, causality and emergence by following “digital threads” and “performance indicators” within the model (e.g., navigation and interrogation using the digital views 400, 500, and 700-900). This capability allows, for example, the decision maker to process compound questions into “digital knowledge threads” across the many properties of operational performance, such as; safety, quality, schedule, cost and customer, to make determinations on understanding and resolve conflating the problem set decisions into predictive and prescriptive actions, among others.
In some example, the organization system digital twin meta-knowledge representation, via an eXperiential User Interface, is used as a human engagement portal for rendering digital views, both static and interactive, of relational knowledge associated with compound questions and business performance indicators providing shared understanding and knowledge transfer of organization properties with structure, behavior, causality and emergence. The digital twin model 116 is used in some examples as a meta-knowledge graph with the digital views enabling real-time human visual synthesis and analysis of complex data and the data structure enabling machine learning logic enhancement.
Various examples provide visual navigation and interrogation of knowledge data, including tacit knowledge. Classifying a business as a system, and pivoting on intellectual capital, allows the present disclosure to conflate system science and systems engineering principles to the construction of the digital twin model 116 of the organization's structure and behavior in the form of transdisciplinary socio-technical networks and/or meta-knowledge graphs for human-readable high dimensional visual representations.
Thus, one or more examples are configured as follows:
The present disclosure enables a systems engineering/system science (systemology) approach to capture, model, and evaluate human-centric ecosystems that centers on people and intellectual capital data prominence (knowledge management). A world metaphor is also enabled for human-readable digital representation to interactively navigate and interrogate the model (world-building), wherein transdisciplinary operational excellence digital viewpoints are supported. In some examples, the organization system is provided using a system digital twin ontological visual language (meta-knowledge digital representation) allowing the world metaphor to be used to navigate complex data structures.
An organization intellectual capital digital twin, and various aspects of the disclosure, can be implemented using a computing device 1400 as illustrated in
The business logic plus socio-technical behavior 1402 in some examples defines domain properties represented as separate nodes (e.g., nodes 404 shown in
It should be appreciated that the digital view of the world-model can be at various levels of abstraction. Thus, the visual language of the socio-technical network is expressed by digital views of the world-model.
With reference now to
Operation 1504 includes generating one or more cross-domain BoK models using information properties and operations 1506-1524. In some examples, operation 1504 includes an iterative process. Operation 1506 includes defining knowledge sphere bounding the BoK for nodes within the knowledge graph that allows for ontologically connecting the nodes. For example, as described herein, the knowledge container is a bounding constraint for the knowledge of an individual, including tacit knowledge of the individual. In some examples, domain vocabularies are defined, such as using an end by end matrix, wherein each domain vocabulary is connected to every other domain vocabulary. All of the domains are processed within a single graph. In one example, the nodes have a set of defined properties (person-centric and/or intellectual capital centric), which in one example, includes the following: people, knowledge, social networks (organizations), systems, programs, workflows/business processes, tools, business metrics, customers, geography and time, among others.
Operation 1508 includes constituting data/information containers as nodes, and operation 1510 includes constituting connections between the nodes as edges. For example, as described herein, ontological connections are defined between the nodes using ontology model principles. In various examples, the ontological connections are cross-domain ontological connections.
Operation 1510 includes instantiating the taxonomy model 600, operation 1512 includes exercising graph theory, set theory and category theory performing graph engineering, operation 1514 includes performing graph mathematics and analytics algorithms, and operation 1516 includes performing graph data science. For example, as described herein, a knowledge container as a bounding container for knowledge internal and external to the organization as a system is defined. That is, the knowledge container is configured in a world metaphor definition in some examples to define a generally spherical data space in a digital view.
Operation 1518 includes constituting the inner knowledge sphere (World) data/information structure. For example, the connections of nodes 404 and edges 604 create a network structure defining the Body of Knowledge configuration inside the Knowledge Sphere bounding conditions.
Operation 1520 includes constituting inner knowledge sphere (World) data/information behavior. For example, the property-based influences the nodes 404 and edges 604 have on one another produce counter-influences and emergence of new behavior between the nodes and edges.
Operation 1522 includes constituting terrain objects. For example, as described herein, one or more objects corresponding to properties of nodes within the knowledge container are defined. The terrain objects allow for world metaphor visualization of the properties as defined by the ontological associations in some examples. The terrain objects may be governed for example, by the nodes ratings in centrality and/or modularity causing emergent behavior to restructure the network configuration.
Operation 1524 includes constituting emergent nodes. For example, if one or more nodes 404 are influences by one or more other nodes 404 or edges 604 in a matter that the resultant influence is the creation of a new node 404 with its own set of discrete properties.
Operation 1526 includes outputting world view/knowledge representations. For example, the world view interface 1406 (shown in
Operation 1528 includes navigating/interrogating/querying the world visual model using operations 1530-1544. In some examples, operation 1528 includes maneuvering through the world view data and/or interrogating the world view data in a more intuit manner Operation 1530 includes selecting a window data landscape. For example, a portion of the world view for maneuvering through or interrogating is selected. That is, in one example, a world view (e.g., the world view 402 in
In another example, and as explained in more detail below with respect to operations 1528-1544, a user provides a query that, when entered, enables the world view 402 to automatically “zoom in” and/or display information (e.g., as shown in
For example, a query from a user may request information relating to a particular division of a corporation, and more specifically, a request for critical knowledge points for a program in the division. In response to the query, a program node is automatically generated, and includes geometric indicators that represent distinctive skills, unique knowledge, etc. that are different colors and shapes based on different thresholds and values, providing the user with a visual representation (as a result of the query) of the critical knowledge points for the program the user can then navigate/explore and/or provide an additional query.
Operation 1532 includes selecting questions/knowledge properties of interest for navigating or interrogating the selected data landscape. For example, as described herein, maneuvering or query parameters are selected for identifying knowledge, such as tacit knowledge of individuals within the organization relating to a particular project.
Operation 1534 includes selecting a lens (trans-disciplinary). For example, constraints or granularity for the navigating or interrogating are defined, such as a knowledge lens to identify particular knowledge internal to the knowledge container. That is, the lens focuses the navigation or interrogation and is a single disciplinary or component/trans-disciplinary in some examples.
Operation 1536 includes selecting node properties. For example, the nodes have a set of defined properties (person-centric and/or intellectual capital centric), which in one example, includes the following: people, knowledge, social networks (organizations), systems, programs, workflows/business processes, tools, business metrics, customers, geography and time, among others.
Operation 1538 includes selecting relationship properties. For example, relationships between nodes is selected/determined as described in more detail herein. Operations 1540 and 1542 include 3D navigation and interrogation through the digital view of the knowledge container. As described herein, the navigation and/or interrogation can include maneuvering through nodes and connection within the knowledge container.
Operation 1544 includes outputting result. For example, answers to the queries are output or different options for navigation to solve a problem are determined.
In one or more examples, the operations are performed by a system, wherein the following is given:
The system is configured in some examples to perform one or more of the following:
m. Provide a knowledge “GPS” capability to navigate within the knowledge sphere
Thus, the defined terrain objects in some examples corresponds to one or more properties of the nodes and reflect an expression of one or more metrics for the nodes. The terrain objects can include, for example, one or more city objects that populate a surface of one or more nodes to reflect the expression of the one or more metrics, wherein the one or more city objects penetrate a volume of the spherical knowledge container based on a volume of external transactions. Critical paths can then be defined between a plurality of nodes within the spherical knowledge container and one or more user inputs define navigation or query parameters, and navigation or interrogation of the nodes is controlled based on the navigation or query parameters. It should be noted that the knowledge containers comprise explicit and/or tacit knowledge of the individuals.
With reference now to
In one example, the memory 1602 includes any of the computer-readable media discussed herein. In one example, the memory 1602 is used to store and access instructions 1602A configured to carry out the various operations disclosed herein. In some examples, the memory 1602 includes computer storage media in the form of volatile and/or nonvolatile memory, removable or non-removable memory, data disks in virtual environments, or a combination thereof. In one example, the processor(s) 1604 includes any quantity of processing units that read data from various entities, such as the memory 1602 or input/output (I/O) components 1610. Specifically, the processor(s) 1604 are programmed to execute computer-executable instructions for implementing aspects of the disclosure. In one example, the instructions are performed by the processor, by multiple processors within the computing device 1600, or by a processor external to the computing device 1600. In some examples, the processor(s) 1604 are programmed to execute instructions such as those illustrated in the flow charts discussed below and depicted in the accompanying drawings.
The presentation component(s) 1606 present data indications to an operator or to another device. In one example, presentation components 1606 include a display device, speaker, printing component, vibrating component, etc. One skilled in the art will understand and appreciate that computer data is presented in a number of ways, such as visually in a graphical user interface (GUI), audibly through speakers, wirelessly between the computing device 1600, across a wired connection, or in other ways. In one example, presentation component(s) 1606 are not used when processes and operations are sufficiently automated that a need for human interaction is lessened or not needed. I/O ports 1608 allow the computing device 1600 to be logically coupled to other devices including the I/O components 1610, some of which is built in. Implementations of the I/O components 1610 include, for example but without limitation, a microphone, keyboard, mouse, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
The computing device 1600 includes a bus 1616 that directly or indirectly couples the following devices: the memory 1602, the one or more processors 1604, the one or more presentation components 1606, the input/output (I/O) ports 1608, the I/O components 1610, a power supply 1612, and a network component 1614. The computing device 1600 should not be interpreted as having any dependency or requirement related to any single component or combination of components illustrated therein. The bus 1616 represents one or more busses (such as an address bus, data bus, or a combination thereof). Although the various blocks of
In some examples, the computing device 1600 is communicatively coupled to a network 1618 using the network component 1614. In some examples, the network component 1614 includes a network interface card and/or computer-executable instructions (e.g., a driver) for operating the network interface card. In one example, communication between the computing device 1600 and other devices occur using any protocol or mechanism over a wired or wireless connection 1620. In some examples, the network component 1614 is operable to communicate data over public, private, or hybrid (public and private) using a transfer protocol, between devices wirelessly using short range communication technologies (e.g., near-field communication (NFC), Bluetooth® branded communications, or the like), or a combination thereof.
Although described in connection with the computing device 1600, examples of the disclosure are capable of implementation with numerous other general-purpose or special-purpose computing system environments, configurations, or devices. Implementations of well-known computing systems, environments, and/or configurations that are suitable for use with aspects of the disclosure include, but are not limited to, smart phones, mobile tablets, mobile computing devices, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, gaming consoles, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, mobile computing and/or communication devices in wearable or accessory form factors (e.g., watches, glasses, headsets, or earphones), network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, VR devices, holographic device, and the like. Such systems or devices accept input from the user in any way, including from input devices such as a keyboard or pointing device, via gesture input, proximity input (such as by hovering), and/or via voice input.
Implementations of the disclosure are described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices in software, firmware, hardware, or a combination thereof. In one example, the computer-executable instructions are organized into one or more computer-executable components or modules. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. In one example, aspects of the disclosure are implemented with any number and organization of such components or modules. For example, aspects of the disclosure are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other examples of the disclosure include different computer-executable instructions or components having more or less functionality than illustrated and described herein. In implementations involving a general-purpose computer, aspects of the disclosure transform the general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.
By way of example and not limitation, computer readable media comprise computer storage media and communication media. Computer storage media include volatile and nonvolatile, removable, and non-removable memory implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or the like. Computer storage media are tangible and mutually exclusive to communication media. Computer storage media are implemented in hardware and exclude carrier waves and propagated signals. Computer storage media for purposes of this disclosure are not signals per se. In one example, computer storage media include hard disks, flash drives, solid-state memory, phase change random-access memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium used to store information for access by a computing device. In contrast, communication media typically embody computer readable instructions, data structures, program modules, or the like in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media.
The examples disclosed herein are described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program components, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program components including routines, programs, objects, components, data structures, and the like, refer to code that performs particular tasks, or implement particular abstract data types. The disclosed examples are practiced in a variety of system configurations, including personal computers, laptops, smart phones, mobile tablets, hand-held devices, consumer electronics, specialty computing devices, etc. The disclosed examples are also practiced in distributed computing environments, where tasks are performed by remote-processing devices that are linked through a communications network.
Execution of instructions by a processing circuitry, or storage of instructions in a computer-readable storage medium, supports combinations of operations for performing the specified functions. It will also be understood that one or more functions, and combinations of functions, may be implemented by special purpose hardware-based computer systems and/or processing circuitry s which perform the specified functions, or combinations of special purpose hardware and program code instructions.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
It will be understood that the benefits and advantages described above may relate to one implementation or may relate to several implementations. The implementations are not limited to those that solve any or all of the stated problems or those that have any or all of the stated benefits and advantages. It will further be understood that reference to ‘an’ item refers to one or more of those items.
The term “comprising” is used in this specification to mean including the feature(s) or act(s) followed thereafter, without excluding the presence of one or more additional features or acts.
In some examples, the operations illustrated in the figures may be implemented as software instructions encoded on a computer readable medium, in hardware programmed or designed to perform the operations, or both. For example, aspects of the disclosure may be implemented as a system on a chip or other circuitry including a plurality of interconnected, electrically conductive elements.
The order of execution or performance of the operations in examples of the disclosure illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and examples of the disclosure may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects of the disclosure.
When introducing elements of aspects of the disclosure or the examples thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements. The term “exemplary” is intended to mean “an example of.”
The phrase “one or more of the following: A, B, and C” means “at least one of A and/or at least one of B and/or at least one of C.” The phrase “and/or”, as used in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one implementation, to A only (optionally including elements other than B); in another implementation, to B only (optionally including elements other than A); in yet another implementation, to both A and B (optionally including other elements); etc.
As used in the specification and in the claims, “or” should be understood to have the same meaning as “and/or” as defined above. For example, when separating items in a list, “or” or “and/or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of or “exactly one of,” or, when used in the claims, “consisting of,” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used shall only be interpreted as indicating exclusive alternatives (i.e. “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of” “only one of” or “exactly one of.” “Consisting essentially of,” when used in the claims, shall have its ordinary meaning as used in the field of patent law.
As used in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently “at least one of A and/or B”) can refer, in one implementation, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another implementation, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another implementation, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
Having described aspects of the disclosure in detail, it will be apparent that modifications and variations are possible without departing from the scope of aspects of the disclosure as defined in the appended claims. As various changes could be made in the above constructions, products, and methods without departing from the scope of aspects of the disclosure, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
It is to be understood that the above description is intended to be illustrative, and not restrictive. As an illustration, the above-described implementations (and/or aspects thereof) are usable in combination with each other. In addition, many modifications are practicable to adapt a particular situation or material to the teachings of the various implementations of the disclosure without departing from their scope. While the dimensions and types of materials described herein are intended to define the parameters of the various implementations of the disclosure, the implementations are by no means limiting and are exemplary implementations. Many other implementations will be apparent to those of ordinary skill in the art upon reviewing the above description. The scope of the various implementations of the disclosure should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Moreover, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects. Further, the limitations of the following claims are not written in means-plus-function format and are not intended to be interpreted based on 35 U.S.C. § 112(f), unless and until such claim limitations expressly use the phrase “means for” followed by a statement of function void of further structure.
This written description uses examples to disclose the various implementations of the disclosure, including the best mode, and also to enable any person of ordinary skill in the art to practice the various implementations of the disclosure, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the various implementations of the disclosure is defined by the claims, and includes other examples that occur to those persons of ordinary skill in the art. Such other examples are intended to be within the scope of the claims if the examples have structural elements that do not differ from the literal language of the claims, or if the examples include equivalent structural elements with insubstantial differences from the literal language of the claims.
Although the present disclosure has been described with reference to various implementations, various changes and modifications can be made without departing from the scope of the present disclosure.