Advances in computer technology (e.g., microprocessor speed, memory capacity, data transfer bandwidth, software functionality, and the like) have generally contributed to increased computer application in various industries. Ever more powerful server systems, which are often configured as an array of servers, are commonly provided to service requests originating from external sources such as the World Wide Web, for example.
In light of such advances, virtual environments or virtual three dimensional (3D) worlds have emerged. A virtual environment or virtual 3D world can be a computer-based simulated environment in which physical users can connect and interact with one another by utilizing an avatar or other graphical or textual representation. For example, a virtual world can include various users from all over the globe in which most any interaction can be implemented. A virtual world can include data or objects that are created by the host of the virtual environment as well as user-created. Thus, these virtual worlds can provide endless freedom and ability to express and interact with others as well as the ability to create unique data or objects within the virtual world.
With an increasing number of users populating virtual environments and 3D worlds, management of host-created and/or user-created data can be a daunting task. The virtual environment can include massive amounts of data for virtual representations (e.g., avatars, graphical representations, textual representations, etc.) let alone the amounts of data for various objects such as digital environments, sceneries, items (e.g., cars, clothing, jewelry, furniture, plants, decorations, etc.). Although the storage systems for such virtual environments can handle the large amounts of data, users within such worlds and environments can be overwhelmed by being immersed with the density of objects, virtual representations, and the like.
The following presents a simplified summary of the innovation in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview of the claimed subject matter. It is intended to neither identify key or critical elements of the claimed subject matter nor delineate the scope of the subject innovation. Its sole purpose is to present some concepts of the claimed subject matter in a simplified form as a prelude to the more detailed description that is presented later.
The subject innovation relates to systems and/or methods that facilitate enhancing views within a virtual environment by removing virtual content based upon an index. A filter component can reduce noise and/or density of virtual content within a virtual environment. In general, the filter component can emphasize or de-emphasize virtual content within the virtual environment to which a user is viewing based upon relevancy to the user. The relevancy of the virtual content can be ascertained based upon an index, wherein the index can be trust, popularity, coolness, or context. The filter component can enhance virtual content if deemed relevant by adjusting a displayable property or feature of the virtual content. The filter component can also make irrelevant virtual content less prevalent by adjusting a displayable property or feature of the virtual content. The filter component can adjust visibility of virtual content in order to enhance views for a user within the virtual environment.
The subject innovation can further enable a three-phase virtual environment to be employed. Generally, the subject innovation can implement a first phase of virtual content exposure that exposes host-created virtual content, a second phase of virtual content exposure that exposes host-created virtual content and user-created virtual content, and a third phase of virtual content exposure that exposes user rank-based modified virtual content (e.g., user-created and host-crated). In other aspects of the claimed subject matter, methods are provided that facilitate evaluating virtual content within a virtual environment and adjusting the display of such content to optimize relevant content to display.
The following description and the annexed drawings set forth in detail certain illustrative aspects of the claimed subject matter. These aspects are indicative, however, of but a few of the various ways in which the principles of the innovation may be employed and the claimed subject matter is intended to include all such aspects and their equivalents. Other advantages and novel features of the claimed subject matter will become apparent from the following detailed description of the innovation when considered in conjunction with the drawings.
The claimed subject matter is described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the subject innovation. It may be evident, however, that the claimed subject matter may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the subject innovation.
As utilized herein, terms “component,” “system,” “data store,” “environment,” “evaluator,” “content,” “engine,” and the like are intended to refer to a computer-related entity, either hardware, software (e.g., in execution), and/or firmware. For example, a component can be a process running on a processor, a processor, an object, an executable, a program, a function, a library, a subroutine, and/or a computer or a combination of software and hardware. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and a component can be localized on one computer and/or distributed between two or more computers.
Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ). Additionally it should be appreciated that a carrier wave can be employed to carry computer-readable electronic data such as those used in transmitting and receiving electronic mail or in accessing a network such as the Internet or a local area network (LAN). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter. Moreover, the word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.
Now turning to the figures,
Generally, the filter component 102 can employ emphasis or de-emphasis to a portion of virtual content within the virtual environment 104, wherein the emphasis or de-emphasis can be related to a displayable characteristic such as, but not limited to, visibility, size, color, shape, opaqueness, orientation, levels of presence, and the like. For example, the more relevant an object within the virtual environment is to a user, the more visible such object can be. Similarly, the less relevant an object is to a user, the more invisible such can be displayed. By enabling virtual content to be manipulated based upon relevance, a virtual environment experience can be improved since the irrelevant objects/data is reduced (e.g., noise reduction, density reduction, etc.) for each particular user.
For example, the virtual content that can be adjusted can be a virtual representation (e.g., an avatar, a textual representation, a graphical representation, a 3D object for a user, a picture, an image, etc.) for each user. Thus, a virtual environment can include a virtual lobby in which a plurality of virtual representations can be located. Typically, a user that views such lobby within the virtual environment will have a cluttered and over-populated display since all of the plurality of virtual representations will be displayed. Yet, the subject innovation can eliminate or reduce the amount of noise (e.g., amount of displayed virtual representations) by adjusting the display characteristics of the virtual representations. For instance, if a virtual representation is relevant to a user (e.g., a friend, a relative, a trusted entity, within a geographic proximity, relevant based upon a selected index, etc.), the virtual representation can be made visible to the user. Yet, if the virtual representation is less relevant to the user, the virtual representation can be made less visible (e.g., outline of the virtual representation, less opaque virtual representation, etc.).
In addition, the system 100 can include any suitable and/or necessary interface component 106 (herein referred to as “the interface 106”), which provides various adapters, connectors, channels, communication paths, etc. to integrate the filter component 102 into virtually any operating and/or database system(s) and/or with one another. In addition, the interface 106 can provide various adapters, connectors, channels, communication paths, etc., that provide for interaction with the filter component 102, the virtual environment 104, and any other device and/or component associated with the system 100.
The virtual content 202 can include any suitable virtual object or created data within the virtual environment 104 such as, for example, an avatar 204 or an object 206. The avatar 204 can be any suitable viewable object utilized to represent a physical user within the virtual environment 104. For example, the avatar 204 can be a portion of a graphic, a portion of text, a portion of audio, a portion of video, an image, a picture, a 3D object, a 2D object, and the like. Moreover, the object 206 can be any suitable item displayed or hosted by the virtual environment 104. For instance, the object 206 can be, but is not limited to being, a portion of an item (e.g., a car, a phone, clothing, a piece of furniture, a deck of cards, a business card, a picture, a painting, a sculpture, an animal, a sign, a physical object represented within the virtual environment 104, etc.), a portion of a surrounding (e.g., a sky, a landscape, a landmark, etc.), a portion of a location (e.g., a house, a town, a business, etc.), and the like.
The filter component 102 can further include a content evaluator 208 that can dynamically identify virtual content 202 that is viewed or displayed for a particular user from his or her perspective within the virtual environment 104. In other words, the content evaluator 208 can analyze virtual content 202 within the virtual environment 104 that a particular user is viewing or is interacting therewith. Based on such identified virtual content 202, a relevance component 210 can ascertain or assign a relevance ranking. The relevance component 210 can evaluate the virtual content 202 that a particular user is interacting with and determine a relevance to such virtual content based upon an index (e.g., trust, context, popularity, coolness, relationship, etc.). For example, the relevance component 210 can assign a high relevancy ranking or score for virtual content that corresponds to a particular user based upon the index.
The relevance component 210 can identify relevant virtual content 202 within the virtual environment based at least in part upon an index. For example, the index can be, but is not limited to being, trust, relationship, popularity, context, coolness, and the like. Virtual content 202 within the virtual environment 104 can be relevant to a user based upon a level of trust. For example, a user can “trust” virtual content 202 by having a relationship with the content based upon the user opting in to the trust, inferring the trust based upon an interaction, or leveraging a relationship with the content to identify trust. Based upon the trust, the system 200 can adjust the virtual content 202 and respective displayable features. For instance, a level of trust can correspond to a level of display for the virtual content 202. In one example, a social network or environment can be leveraged in which an object that is trusted by a trusted friend may be considered trusted to you, although the greater the ‘network distance,’ the less trust is ascertained.
The relevance component 210 can further utilize context as an index to identify relevant virtual content 202 within the virtual environment 104. A level of context can enable virtual content 202 to be adjusted or modified, wherein the displayable feature or characteristic can be adjusted to reflect the identified correlation with the level of context. For instance, a local context can drive an object part-way from a first level of adjustment to a second level of adjustment (discussed in more detail below). For example, the context can relate to a friendship, a shared hobby (e.g., physical activities, collections, sports, etc.), interests (e.g., music, bars, restaurants, vacation spots, etc.), geography (e.g., home town, current resident, previous resident, etc.), dating preferences, activities, employment status, family properties (e.g., having kids, single, married, etc.), browsing history, group memberships, biographical information (e.g., age, sex, race, height, etc.), and the like.
The relevance component 210 can further leverage popularity or coolness as an index to adjust display features of virtual content 202. It is to be appreciated that coolness or cool can be per user and measure how much a given thing/or user (within the virtual environment) is of interest to you based on what/who you care about and what your “friends” care about. Moreover, it is to be appreciated that popularity can be related to a general user base or other users “similar to you” care about. Additionally, virtual content that is popular may be cool to a first user but not to a second user—thus cool is particular to each user whereas popular is a general consensus. The relevance component 210 can employ collaborative filtering to help users locate virtual content 202 within the virtual environment 104 that is relevant or useful to a particular user. Such virtual content 202 can be modified (e.g., promoted, demoted, etc.) in order to enhance the collective experience within the virtual environment 104. It is to be appreciated that the coolness or popularity of virtual content 202 can be offered as information to solicit but not presume trust. If deemed popular or cool, the virtual content 202 can be modified (e.g., emphasize the virtual content if relevant, de-emphasize the virtual content if not relevant, etc.). It is to be appreciated that the relevance component 210 can leverage a social network or environment to identify a popularity or coolness.
Moreover, the coolness or popularity can be a global perspective or a personal perspective. In general, the global coolness or popularity can be a generalized status to which a majority of users would deem popular or cool. For example, famous people, best-selling goods/items, etc. can be considered globally cool or popular. The global cool or popularity can affect a population within the virtual environment 104. It is to be appreciated that global coolness or popularity can be based upon context within the virtual environment 104. For example, a famous singer at a virtual concert in the virtual environment 104 can be deemed popular or cool, whereas such famous singer at a virtual sporting event may not be deemed as popular or cool. Thus, the context of popularity or coolness can be affected based upon situations to which the user is in within the virtual environment 104.
Moreover, the popularity or coolness can be a personalized perspective to where virtual content can be evaluated in order to identify whether such content is popular or cool based upon the standards of the specific user. For example, based on a user's personal preferences or information, a particular car within the virtual environment can be deemed cool or popular, whereas the same particular car may not be deemed cool or popular for a disparate user. Thus, a personal cool or popularity can affect a specific user or person within the virtual environment 104. In another example, a creator of virtual content that is popular or cool can be deemed cool and popular based upon such creation. In still another example, coolness or popularity can be established based upon traffic (e.g., network traffic, virtual interaction with an object, virtual interaction with a virtual representation, etc.) within the virtual environment 104. Within a virtual environment, an avatar can be communicating to other avatars, and based upon such crowding or group around the speaking avatar, coolness or popularity can be identified.
The filter component 102 can further include an adjust component 212 that can modify the virtual content 202 based at least in part upon the identified relevance (e.g., ranking, score, ascertained correspondence, etc.). The adjust component 212 can modify any suitable displayable characteristic or feature for the virtual content 202 within the virtual environment 104. For example, the displayable characteristic or feature can be, but is not limited to, visibility, size, color, shape, opaqueness, orientation, level of presence, etc.
The adjust component 212 can invoke granular levels of displayable characteristics or features based on a level of relevance. In an example, the displayable characteristic can be visibility in which granular levels of opaqueness and/or level of interaction can be adjusted accordingly. For example, a first level can correspond to unreal virtual content, a second level can correspond to ghosted virtual content, a third level can correspond to mostly visible virtual content, a fourth level can correspond to interactive virtual content, and a fifth level can correspond to fully real virtual content.
The first level can be virtual content that is invisible and has no physical presence within the virtual environment 104. However, the virtual content may be visible to someone else, so it exists on the host (e.g., virtual environment server, network, etc.), if not the user's client. If an avatar a user can see is local to or interacting with such an invisible (to the user) object, then rather than allow the incongruity, the system 200 can either promote the object to another level (e.g., the second level), or move that avatar into a bubble of reality, depending on the circumstance.
The second level can be virtual content that is ghosted. The virtual content can be visible to the user, but using a 2D or 3D stand-in you pick from and approved set for safety. This can be analogous to the ‘alt image’ in HTML, except the choices can be constrained. The virtual content can be considered ‘spirited.’ The default and simplest spirit can be a wireframe or a shimmering bounding box. For example, a custom car can be better represented by selecting an approved car, which lacks your modified textures and geometry. Moreover, a spirited avatar may use 2D sprites with generic clothing & accessories. The lack of physical presence requires some visual feedback, such as translucency.
The third level can be mostly visible virtual content. Similar to the second level, except now the user can see custom detail, texture, geometry of the virtual content (e.g., the car utilized in the example) instead of the generic stand-in. The object can be present, but not yet physical, and thus visual feedback is still required.
The fourth level can be interactive, wherein the fourth level can be similar to the third level yet include any non-moving, non-scripted portions of the object are considered physical (e.g., the user can stand on them). The virtual content can be include scripted or dynamic portions remain that are equivalent to the third level, since they could pin or throw the user. For example, the virtual content can be visible but include safe segments of the virtual content that can be considered physical and opaque (e.g., you can push buttons, but a car can't run you over). Moreover, portions of the virtual content can include avatar side-effects that are equivalent to the third level.
The fifth level can include virtual content that can be fully real to the user, and can affect the user, push the user, and transact. For example, virtual content can include full interaction with games, rides, automatic teller machines (ATMs), etc. Additionally, virtual content within the fifth level can require the user to initiate an action—to choose to enter the game via a doorway or press a button or click the equivalent of a popup to proceed. Moreover, there can be a preference to auto-initiate, but it has to be clear and deliberate from the user.
In one example, the subject innovation can provide enhanced viewing or display of virtual content within the virtual environment 104. For example, the index can be based upon a coolness or popularity, followed by a proximity in which the following can be employed: user, VIP (think a performer or someone who has been “cooled” past some threshold), active engagement with (e.g. you are chatting with someone), friends, friends of friends, people you interacted with recently (e.g. you were chatting with someone), people you anointed “cool,” groups and networks, people who “cooled” you, random folks, and blocked people (note they still appear, perhaps with no customization).
The subject innovation can further assist in helping users find existing and new friends in a dense virtual environment. Moreover, by adjusting the displayable characteristics based on relevancy or indexes, harassment can be minimized (e.g., virtual harassment, assault, negative behaviors, etc.). For example, harassment can be minimized because any bad actor can be rendered effectively impotent by any user by adjusting the display characteristics (e.g., making the content or actor invisible, “uncool,” unpopular, or untrusted, etc.). The subject innovation can further reconcile conflicting goals of having a UGC-rich world, without experiencing unwanted objectionable, irrelevant, or “bad” content. Moreover, the system 300 can improve computational and bandwidth efficiency of virtual environments for increased performance and scalability.
The system 300 can include the filter component 102 that can reduce noise or density within the virtual environment 104 by de-emphasizing irrelevant virtual content and/or emphasizing relevant virtual content. By modifying a displayable feature or property of virtual content based upon an index (e.g., relevancy, trust, relationship, context, popularity, coolness, etc.), a user viewing virtual content within the virtual environment 104 can be protected or shielded from various portions of virtual content. For example, the viewable content displayed from the perspective of the user can be de-emphasized based on what is appropriate or approved.
The filter component 102 can be utilized in any suitable virtual environment 104 such as a three-phase virtual environment. The virtual environment 104 can include user-created virtual content 302 and/or host-created virtual content 304. The user-created virtual content 302 can be any suitable content within the virtual environment 104 that is user-created or defined. The host-created virtual content 304 can be any suitable virtual content within the virtual environment 104 created by a host of the virtual environment 104, an administrator of the virtual environment 104, or a service provider of the virtual environment 104.
The three-phase virtual environment can be employed with the subject innovation. In particular, the three-phase virtual environment can enable a first phase in which a user is only exposed or able to view host-created content within the virtual environment 104. In a second phase, the user can be exposed or able to view host-created virtual content and user-created content within the virtual environment. A third phase can allow a user to view host-created content and user-created content, wherein the user-created content can be displayed based upon a ranking or user-based relevancy ranking.
The three-phase virtual environment or system can filter and surface user-created content 302 such that some users can experience a single consistent shared world full of safe content, while other users can delve into more dynamic views of the world, subject to their interests and those of their friends. The system 300 can split the universe or virtual environment 104 into three main levels of experience—personal, shared, and universal (alpha, beta, and omega worlds). The virtual environment 104 can be reconciled to only the most appropriate, the most “cool,” and most trusted content, while the shared world is subject to more complex rules of who sees what based on a more variable concept of context, coolness, and trust. Content would typically be propagated up from personal to shared (where it could be collaboratively filtered and promoted) and only the best content makes it to the universal level, including our “head” data.
The filter component 102 can include an administrative filter component 306 that can filter virtual content within the virtual environment 104 in which virtual content that is host-created can be displayed or viewable for a particular user. The administrative filter component 306 can enable a user to increase exposure to virtual content based upon a received request. For example, a user can request an upgrade in exposed virtual content in which more virtual content will be viewable for that specific user. The administrative filter component 306 can further ascertain which virtual content (e.g., host-created content, user-created content, etc.) can be exposed to the user.
The filter component 102 can further include a rank component 308 that can receive user rankings for exposed virtual content within the virtual environment 104. The rank component 308 can collect or gather user information related to ranking or scoring virtual content within the virtual environment 104. The rankings can be related to host-created content, user-created content, and/or any suitable combination thereof. The virtual content within the virtual environment 104 can further be adjusted or modified based upon the rankings, wherein a high ranking (signifying the user likes the content) can be emphasized and a low ranking (signifying the user dislikes the content) can be de-emphasized.
It is to be appreciated that the data store 402 can be, for example, either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of illustration, and not limitation, nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM). The data store 308 of the subject systems and methods is intended to comprise, without being limited to, these and any other suitable types of memory. In addition, it is to be appreciated that the data store 402 can be a server, a database, a hard drive, a pen drive, an external hard drive, a portable hard drive, and the like.
The system 500 can enable a physical user 502 to be virtually represented within the virtual environment 506 for remote communications between two or more users or entities. The system 500 further illustrates a second physical user 508 that employs a device 510 to communicate within the virtual environment 506. As discussed, it is to be appreciated that the virtual environment 506 can enable any suitable number of physical users to communicate within the session. The virtual environment 506 can be managed by a service provider on the communication framework in which the virtually represented users can communicate. For example, the virtual environment 506 can allow data to be communicated such as, voice, audio, video, camera feeds, data sharing, data files, etc.
The intelligent component 602 can employ value of information (VOI) computation in order to identify a relevant index to base modifications to virtual content to reflect correlation. For instance, by utilizing VOI computation, the most ideal and/or appropriate relevancy index can be determined in order to emphasize or de-emphasize virtual content efficiently within the virtual environment 104. Moreover, it is to be understood that the intelligent component 602 can provide for reasoning about or infer states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic—that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources. Various classification (explicitly and/or implicitly trained) schemes and/or systems (e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, data fusion engines . . . ) can be employed in connection with performing automatic and/or inferred action in connection with the claimed subject matter.
A classifier is a function that maps an input attribute vector, x=(x1, x2, x3, x4, xn), to a confidence that the input belongs to a class, that is, f(x)=confidence(class). Such classification can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to prognose or infer an action that a user desires to be automatically performed. A support vector machine (SVM) is an example of a classifier that can be employed. The SVM operates by finding a hypersurface in the space of possible inputs, which hypersurface attempts to split the triggering criteria from the non-triggering events. Intuitively, this makes the classification correct for testing data that is near, but not identical to training data. Other directed and undirected model classification approaches include, e.g., naïve Bayes, Bayesian networks, decision trees, neural networks, fuzzy logic models, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein also is inclusive of statistical regression that is utilized to develop models of priority.
The filter component 102 can further utilize a presentation component 604 that provides various types of user interfaces to facilitate interaction between a user and any component coupled to the filter component 102. As depicted, the presentation component 604 is a separate entity that can be utilized with the filter component 102. However, it is to be appreciated that the presentation component 604 and/or similar view components can be incorporated into the filter component 102 and/or a stand-alone unit. The presentation component 604 can provide one or more graphical user interfaces (GUIs), command line interfaces, and the like. For example, a GUI can be rendered that provides a user with a region or means to load, import, read, etc., data, and can include a region to present the results of such. These regions can comprise known text and/or graphic regions comprising dialogue boxes, static controls, drop-down-menus, list boxes, pop-up menus, as edit controls, combo boxes, radio buttons, check boxes, push buttons, and graphic boxes. In addition, utilities to facilitate the presentation such as vertical and/or horizontal scroll bars for navigation and toolbar buttons to determine whether a region will be viewable can be employed. For example, the user can interact with one or more of the components coupled and/or incorporated into the filter component 102.
The user can also interact with the regions to select and provide information via various devices such as a mouse, a roller ball, a touchpad, a keypad, a keyboard, a touch screen, a pen and/or voice activation, a body motion detection, for example. Typically, a mechanism such as a push button or the enter key on the keyboard can be employed subsequent entering the information in order to initiate the search. However, it is to be appreciated that the claimed subject matter is not so limited. For example, merely highlighting a check box can initiate information conveyance. In another example, a command line interface can be employed. For example, the command line interface can prompt (e.g., via a text message on a display and an audio tone) the user for information via providing a text message. The user can then provide suitable information, such as alpha-numeric input corresponding to an option provided in the interface prompt or an answer to a question posed in the prompt. It is to be appreciated that the command line interface can be employed in connection with a GUI and/or API. In addition, the command line interface can be employed in connection with hardware (e.g., video cards) and/or displays (e.g., black and white, EGA, VGA, SVGA, etc.) with limited graphic support, and/or low bandwidth communication channels.
At reference numeral 706, a displayable feature of the portion of virtual content can be adjusted based upon the identified level of relevancy. The displayable feature can be, for instance, visibility, size, color, shape, opaqueness, orientation, levels of presence, and the like. At reference numeral 708, the user perspective of virtual content can be modified within the virtual environment based upon the adjusted displayable features. In other words, a view for a particular user within the virtual environment can be modified in which virtual content can be emphasized or de-emphasized based on the identified level of relevancy.
In order to provide additional context for implementing various aspects of the claimed subject matter,
Moreover, those skilled in the art will appreciate that the inventive methods may be practiced with other computer system configurations, including single-processor or multi-processor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based and/or programmable consumer electronics, and the like, each of which may operatively communicate with one or more associated devices. The illustrated aspects of the claimed subject matter may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. However, some, if not all, aspects of the subject innovation may be practiced on stand-alone computers. In a distributed computing environment, program modules may be located in local and/or remote memory storage devices.
One possible communication between a client 910 and a server 920 can be in the form of a data packet adapted to be transmitted between two or more computer processes. The system 900 includes a communication framework 940 that can be employed to facilitate communications between the client(s) 910 and the server(s) 920. The client(s) 910 are operably connected to one or more client data store(s) 950 that can be employed to store information local to the client(s) 910. Similarly, the server(s) 920 are operably connected to one or more server data store(s) 930 that can be employed to store information local to the servers 920.
With reference to
The system bus 1018 can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), Firewire (IEEE 1394), and Small Computer Systems Interface (SCSI).
The system memory 1016 includes volatile memory 1020 and nonvolatile memory 1022. The basic input/output system (BIOS), containing the basic routines to transfer information between elements within the computer 1012, such as during start-up, is stored in nonvolatile memory 1022. By way of illustration, and not limitation, nonvolatile memory 1022 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory 1020 includes random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM).
Computer 1012 also includes removable/non-removable, volatile/non-volatile computer storage media.
It is to be appreciated that
A user enters commands or information into the computer 1012 through input device(s) 1036. Input devices 1036 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to the processing unit 1014 through the system bus 1018 via interface port(s) 1038. Interface port(s) 1038 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB). Output device(s) 1040 use some of the same type of ports as input device(s) 1036. Thus, for example, a USB port may be used to provide input to computer 1012, and to output information from computer 1012 to an output device 1040. Output adapter 1042 is provided to illustrate that there are some output devices 1040 like monitors, speakers, and printers, among other output devices 1040, which require special adapters. The output adapters 1042 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between the output device 1040 and the system bus 1018. It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 1044.
Computer 1012 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1044. The remote computer(s) 1044 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to computer 1012. For purposes of brevity, only a memory storage device 1046 is illustrated with remote computer(s) 1044. Remote computer(s) 1044 is logically connected to computer 1012 through a network interface 1048 and then physically connected via communication connection 1050. Network interface 1048 encompasses wire and/or wireless communication networks such as local-area networks (LAN) and wide-area networks (WAN). LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet, Token Ring and the like. WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL).
Communication connection(s) 1050 refers to the hardware/software employed to connect the network interface 1048 to the bus 1018. While communication connection 1050 is shown for illustrative clarity inside computer 1012, it can also be external to computer 1012. The hardware/software necessary for connection to the network interface 1048 includes, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards.
What has been described above includes examples of the subject innovation. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the claimed subject matter, but one of ordinary skill in the art may recognize that many further combinations and permutations of the subject innovation are possible. Accordingly, the claimed subject matter is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.
In particular and in regard to the various functions performed by the above described components, devices, circuits, systems and the like, the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the claimed subject matter. In this regard, it will also be recognized that the innovation includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods of the claimed subject matter.
There are multiple ways of implementing the present innovation, e.g., an appropriate API, tool kit, driver code, operating system, control, standalone or downloadable software object, etc. which enables applications and services to use the advertising techniques of the invention. The claimed subject matter contemplates the use from the standpoint of an API (or other software object), as well as from a software or hardware object that operates according to the advertising techniques in accordance with the invention. Thus, various implementations of the innovation described herein may have aspects that are wholly in hardware, partly in hardware and partly in software, as well as in software.
The aforementioned systems have been described with respect to interaction between several components. It can be appreciated that such systems and components can include those components or specified sub-components, some of the specified components or sub-components, and/or additional components, and according to various permutations and combinations of the foregoing. Sub-components can also be implemented as components communicatively coupled to other components rather than included within parent components (hierarchical). Additionally, it should be noted that one or more components may be combined into a single component providing aggregate functionality or divided into several separate sub-components, and any one or more middle layers, such as a management layer, may be provided to communicatively couple to such sub-components in order to provide integrated functionality. Any components described herein may also interact with one or more other components not specifically described herein but generally known by those of skill in the art.
In addition, while a particular feature of the subject innovation may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms “includes,” “including,” “has,” “contains,” variants thereof, and other similar words are used in either the detailed description or the claims, these terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements.
Number | Name | Date | Kind |
---|---|---|---|
6266667 | Olsson | Jul 2001 | B1 |
6329986 | Cheng | Dec 2001 | B1 |
6490577 | Anwar | Dec 2002 | B1 |
6545682 | Ventrella | Apr 2003 | B1 |
7468729 | Levinson | Dec 2008 | B1 |
7472352 | Liversidge | Dec 2008 | B2 |
20020045446 | Peters | Apr 2002 | A1 |
20030135582 | Allen | Jul 2003 | A1 |
20050086300 | Yeager et al. | Apr 2005 | A1 |
20060079325 | Trajkovic | Apr 2006 | A1 |
20060143569 | Kinsella | Jun 2006 | A1 |
20070299713 | Macbeth | Dec 2007 | A1 |
20080005047 | Flake | Jan 2008 | A1 |
20080120558 | Nathan et al. | May 2008 | A1 |
20080215974 | Harrison | Sep 2008 | A1 |
20080274805 | Ganz | Nov 2008 | A1 |
20080288573 | Bellotti et al. | Nov 2008 | A1 |
20080316227 | Fleury | Dec 2008 | A1 |
20090007346 | Ha | Jan 2009 | A1 |
20090066690 | Harrison | Mar 2009 | A1 |
20100001993 | Finn et al. | Jan 2010 | A1 |
20100156899 | Bolger et al. | Jun 2010 | A1 |
Entry |
---|
Al Masum, Shaikh Mostafa and Mitsuru Ishizuka, “Making Topic-Specific Report and Multimodal Presentation Automatically by Mining the Web Resources”, IEEE/WIC/ACM International Conference on Web Intelligence, Dec. 2006, Hong Kong, pp. 240-246, published online at [http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=04061372], retrieved on Jan. 24, 2009. |
Number | Date | Country | |
---|---|---|---|
20100245376 A1 | Sep 2010 | US |