U.S. Pat. No. 8,244,800
VIRTUAL SPACE SYSTEM, METHOD AND PROGRAM
AssigneeInternational Business Machines Corporation
Issue DateNovember 13, 2008
Illustrative Figure
Abstract
In a virtual space including a plurality of islands, location of the islands is mapped in two dimensions, preferably using multidimensional scaling such as Kruskal method, to keep the order of the distances between the feature vector including the information of profile and preference of the user and the feature vectors including the profiles and event information of the respective islands. The map server uses the mapping information to provide the user with the islands arranged in a manner more conforming to the user's feature vector, which allows the user to conveniently visit the islands suited to the user's preference, and hence, increases utilization of the virtual space.
Description
DETAILED DESCRIPTION OF THE INVENTION An embodiment of the present invention will now be described with reference to the drawings. Throughout the drawings like reference characters denote like objects unless otherwise specified. It will be appreciated that the following description is of an embodiment of the present invention, which is not intended to restrict the invention to the contents described in the embodiment. FIG. 1is a schematic block diagram showing the hardware configuration for implementing the technique of the present invention. InFIG. 1, the left side corresponds to the client (user) side, in which client computers102,104,106,108,110, and112of individual users are shown. The right side corresponds to the service provider side, in which a login server120, a data server122, a map server124, and servers126,128, and130for respective islands (local virtual spaces) are shown. InFIG. 1, the data server122stores the following information, including the information on the components of the respective islands (objects' information, number and types), which is updated as appropriate.Information on each userpersonal information including name, age, gender, date of birth, nationality and othersother profile including hobbies, skills and othersuser ID, passwordInformation on avatargender, figure, face, hair style, clothes, accessories and othersInformation on currencyInformation on events held in each islandaccess management list for each islandlist of objects including buildings created or constructed on each islanddate, time, and place where event is held. The user's personal information and profile described above are preferably acquired by requesting the user to input them on a prescribed input screen (not shown) at the time when the user newly applies for an account in the virtual world system. Thereafter, if there is any change in personal information or profile on the user side, the user may voluntarily reenter the information from a prescribed menu to change the profile. In the map server124, the following information is ...
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will now be described with reference to the drawings. Throughout the drawings like reference characters denote like objects unless otherwise specified. It will be appreciated that the following description is of an embodiment of the present invention, which is not intended to restrict the invention to the contents described in the embodiment.
FIG. 1is a schematic block diagram showing the hardware configuration for implementing the technique of the present invention. InFIG. 1, the left side corresponds to the client (user) side, in which client computers102,104,106,108,110, and112of individual users are shown. The right side corresponds to the service provider side, in which a login server120, a data server122, a map server124, and servers126,128, and130for respective islands (local virtual spaces) are shown.
InFIG. 1, the data server122stores the following information, including the information on the components of the respective islands (objects' information, number and types), which is updated as appropriate.Information on each userpersonal information including name, age, gender, date of birth, nationality and othersother profile including hobbies, skills and othersuser ID, passwordInformation on avatargender, figure, face, hair style, clothes, accessories and othersInformation on currencyInformation on events held in each islandaccess management list for each islandlist of objects including buildings created or constructed on each islanddate, time, and place where event is held.
The user's personal information and profile described above are preferably acquired by requesting the user to input them on a prescribed input screen (not shown) at the time when the user newly applies for an account in the virtual world system. Thereafter, if there is any change in personal information or profile on the user side, the user may voluntarily reenter the information from a prescribed menu to change the profile.
In the map server124, the following information is stored, which is updated as appropriate.Positional relationship of islands (original coordinates, position coordinates of the islands after being mapped for each user)Position coordinates of avatar (indicating where in which island the avatar is staying)Information on bridge connecting islands (coordinates, connection point or the like, which information is saved for each user)
The position coordinates of the islands after being mapped for each user constitute the concept characteristic to the present invention, which will be described later in detail.
For a given user X to play an active role in the virtual world system, firstly, the client computer102of the user X needs to log into the virtual world system. In the present embodiment, the user accesses the virtual world system via a browser dedicated to the virtual world, which may be downloaded from a prescribed URL. The user downloads and installs the browser to the user's client computer in advance. When the user starts the browser dedicated to the virtual world, the login server120communicates with the browser and requests the user ID assigned to the user and password.
If the user does not have user ID or password yet, the user goes through the procedure of acquiring an account in the virtual world system. When the user enters his/her user ID and password, the login server120checks the appropriate sets of user IDs and passwords prestored in the user server122, and if the set of user ID and password input by the user is found, it authenticates the user as a proper user. Thereafter, the user is connected to the server administering and operating the island on which the user's avatar is staying, based on the information stored in the data server122and the map server124.FIG. 1shows the state where the users1and2are connected to the server A, the users3and4are connected to the server B, . . . , and the user N is connected to the server M. That the users1and2are connected to the server A, for example, means that the users1and2are staying on the island A.
As described above, at least a part of the information on the objects and events in the individual islands is stored in the data server122. The information on the islands is thus administered in an integrated manner on the data server122so that the information on the events and objects may be administered globally for the entire virtual world system. To this end, the data server122frequently communicates with the servers126,128, . . . ,130of the respective islands.
The map server124provides a user with a map of the islands with respect to the user when the user moves from a current island to another island. The map can be considered as a view of a location of a plurality of islands relative to the user. That is, if the activities of the user's avatar are limited within one island, the information of the map of the islands provided by the map server124is unessential; the same has a substantial meaning when the avatar sees the location of the islands from above while flying from one island to another island.
In a preferred embodiment of the present invention, such a map is prepared for each user, based on the profile of the individual user.
Now, referring toFIG. 2, description will be made for a hardware block diagram of the client computer, which is shown by the reference characters102,104, . . . ,112inFIG. 1.
InFIG. 2, the client computer, corresponding to each of the blocks102,104and others inFIG. 1, has a main memory206, a CPU204, and an IDE (Integrated Drive Electronics) controller208, which are connected to a bus202. Further connected to the bus202are a display controller214, a communication interface218, a USB interface220, an audio interface222, and a keyboard/mouse controller228. The IDE controller208is connected with a hard disk210and a DVD drive212. The DVD drive212is used as required for introducing a program from a CD-ROM or DVD. The display controller214is connected with a display216having an LCD screen. On the display216, avatars and objects transmitted from the virtual world server connected thereto are rendered. In the present embodiment, the rendering is carried out on the client side, not on the server side.
To the USB interface220, a dedicated controller having special buttons, an acceleration sensor device and others are connected as required, which are used for conveniently manipulating the avatars in the virtual world.
The audio interface222is connected with a speaker224and a microphone226. With the client computer provided with the speech synthesis function, in the virtual world, the contents of the chat of the avatar of the other user can be output in the form of sound from the speaker224. Further, with the computer provided with the speech recognition function, in the virtual world, what the user speaks to the microphone226can be converted to text by the speech recognition function and transmitted as the contents of the chat to the avatar of the other user.
The keyboard/mouse controller228is connected with a keyboard230and a mouse232. The keyboard230is typically used for writing a chat message in the virtual world. The keyboard230is also used, when a dedicated controller is not used, to cause the avatar to jump or move. The mouse232is used to select or execute an operation from a menu, or confirm or set attributes of the objects in the virtual world.
The CPU204is a CPU based upon 32-bit or 64-bit architecture. For example, Intel's Pentium™ 4 or AMD's Athlon™ may be used.
The hard disk210at least stores an operating system and a virtual world browser (not shown) running on the operating system, and the operating system is loaded to the main memory206at the startup of the system. The operating system may be Windows XP™, Windows Vista™, or Linux™.
The communication interface218communicates with the virtual world server under Ethernet protocol, for example, using the TCP/IP communication function provided by the operating system.
FIG. 3is a schematic block diagram showing the hardware configuration of the virtual world service provider side. As shown inFIG. 3, a login server120, a server (A)126, a server (B)128, . . . , a server (M)130, a data server122, and a map server124are connected to a communication path302, and the servers are capable of communicating with each other via the communication path302. 1000 BASE-T Ethernet™, of which speed is 1000 Mbps, is suitable for the communication between these servers.
For the servers, IBM™ System X, System i, and System p available from International Business Machines Corporation may be used, although they are not limited thereto.
FIG. 4is a schematic block diagram showing the logical configuration of the virtual world service provider side. As shown inFIG. 4, the data server122stores in its disk (not shown) a user profile402and island information404for the virtual world. The user profile402consists of user profiles402a,402b,402c, . . . of the respective users. One user profile includes the information of: gender, age, occupation, residence, hometown, family structure, academic background, user ID, password, and information on the avatar (gender, figure, face, hairstyle, clothes, and accessories of the avatar). Preferably, the user profile further includes the information of: sports, music, real estate holdings, stocks, and others. The information in the user profile is input and stored when the user answers inquiries when applying for an account with the virtual world service provider, or is additionally input by the user afterwards.
Alternatively, the user profile may be extracted automatically using, e.g., the technique disclosed in Japanese Unexamined Patent Publication (Kokai) No. 2005-235014 filed by the applicant of the present invention.
The island information404consists of information404a,404b,404c, . . . of the respective islands. The island information includes such information as currency circulating in the island, an access management list, a list of objects such as buildings created or constructed on the island, and event information such as date, time, and place where the event is held. Preferably, the island information is updated to the latest information through communication between the data server and the servers of the respective islands.
The map server124stores in its disk (not shown) mapping information406and a map calculation module408for calculating the mapping information406. The mapping information406consists of mapping information406a,406b,406c, ... corresponding to the respective users. When a user logs into the virtual world service, the mapping information provides the user with the map of the location of the islands that the user sees. Preferably, the mapping information includes, besides the location of the islands, information on boundaries of the islands including roads, sea and the like, as well as information on the avatars staying in the respective islands, in the mapped space.
The map calculation module408uses the user profile402and the island information404to calculate the mapping information406. More specifically, the mapping information406afor a certain user is calculated using the user profile402acorresponding to the user and the island information404a,404b,404c, . . . of the respective islands. Similarly, the mapping information406bfor another user is calculated using the user profile402bcorresponding to the user, and the island information404a,404b,404c, . . . of the respective islands. The calculation process of the map calculation module408, which constitutes a feature of the present invention, will be described later in detail.
It is noted that the login server120is not shown inFIG. 4because, once the user logs into the virtual world through the login server120, it can be considered that the user is now directly connected to the server of the island on which the user is staying, with the login server120passed through.
The server (A)126, server (B)128, . . . , server (M)130of the respective islands access the data server122, as necessary, to acquire the information of the user profile402, which includes the information on the avatars of the users. The server (A)126, server (B)128, . . . , server (M)130of the respective islands use the information to transmit the model information of the avatars on the corresponding islands to the client computer200(FIG. 2) of the logged-in user, and the client computer200in turn draws an image on the display216by the rendering function of the virtual space browser (not shown) that is stored in its disk210and loaded to the main memory206.
Further, the server (A)126, server (B)128, . . . , server (M)130of the respective islands access the data server122, as necessary, to update the information404on the corresponding islands.
Still further, the server (A)126, server (B)128, . . . , server (M)130of the respective islands access the map server124, as necessary, to update the mapping information406. The client computer accesses the mapping information406corresponding to the user on the map server124, to acquire the information. The acquired mapping information is used when the client computer draws the view including a plurality of islands, for example in the case where the user of the client computer flies in the sky and has a bird's eye view of the islands, or when the user walks along a road bridging the islands. The similar condition takes place in the case where the scenery of the neighboring islands appears even if the user remains on an island. That is, the client computer distinguishes the information on the islands to be drawn on the screen of the client computer from the mapping information and from the current position of the avatar of the user acquired from the server, and issues a request for the drawing data to the map server124. In response to the request, the map server124issues a request for data for drawing to the corresponding islands, and when it receives the data, it returns them to the client computer that issued the original request. The client computer renders the contents regarding the islands based on the received data.
The process for generating the mapping information406will now be described with reference to the flowchart inFIG. 5. The processing according to the flowchart inFIG. 5is carried out by the map calculation module408shown inFIG. 4. Before explanation of the processing inFIG. 5, feature vectors used in the mapping information406will be described. Here, a feature vector of a user is as follows.
X=(nationality: Japan=13, language: Japanese=12, gender: male=1, swimming: 0, soccer: 1, baseball: 0, classical music: 0, . . . )
These values of the user may be acquired based on the inquiries to the user upon creation of the account and also based on the histories of visiting and purchasing products on the Internet Web sites, and the values of the feature vector may be updated regularly based on the history of activities within the virtual space after opening of the account.
A feature vector including the similar items is generated for each island as well. Basically, the feature vector of the island is generated based on the information404of the island stored in the data server122. The following is an example thereof.
Y=(nationality: U.S.A.=1, language: English=1, gender: none=−1, swimming: 1, soccer: 0, baseball: 1, classical music: 0, . . . )
Theses values of the island may be determined based on the information of the profile of the owner of the island, history of the events held on the island, history of the avatars that visited the island, and others, and is preferably updated automatically and regularly. It is noted that “not applicable” may be expressed by entering a special value indicating the same, as in “gender: none=−1” above.
Since the elements of the feature vectors have their values varying in size, the values of the respective elements may be normalized to reduce the effects of the differences of the absolute values. Alternatively, the values may be weighted differently to attach greater weights on specific elements. In the present embodiment, multidimensional scaling (MDS) is used to determine how to arrange the islands on a two-dimensional space in conformity with the user's hobbies and preference, as the mapping information406(FIG. 4), based on the distances between the user's feature vector X and the feature vectors Y of the respective islands. The multidimensional scaling is a technique of multivariate analysis, with which the relationship between the targets of classification is expressed as a configuration of points in a low-dimensional space. The multidimensional scaling determines the configuration such that the size relationship (i.e., the order) of the distances di, jbetween the vectors i and j arranged on a two-dimensional space according to the configuration maintains the order of the distances δi, jbetween the original feature vectors X(i)and Y(i)observed. Particularly, in the present embodiment, Kruskal method is used as the multidimensional scaling method.
Returning toFIG. 5, in step502, firstly, a set of the feature vector X of a certain user and the feature vectors Y of the respective islands is considered. That is, assuming that there are one feature vector X for a user and N-1 feature vectors Y for the respective islands, the N feature vectors are renumbered to X(i)(i=1 . . . N). With these N feature vectors as the feature vectors before application of a spatial configuration, the distances δi, jbetween the vectors are calculated using the following expression, to determine the order of the distances δi, j.
δij=∑d=1m(Xd(i)-Xd(j))2(1)
where m is the number of dimensions of the feature vectors.
In step504, initial values for vectors after application of the spatial configuration are determined. The initial values of these vectors may be arbitrary, which may be random numbers. Alternatively, the initial values may be provided using the method described on page 110 of the following publication: Takayuki Saito and Hiroshi Yadohisa, “Analysis of Relativity Data—Multidimensional Scaling and Cluster Analysis”, published by Kyoritsu Shuppan Co., Ltd., Sep. 10, 2006 (hereinafter, referred to as the “Reference Document”).
In step506, the distances dijbetween the vectors after application of the spatial configuration are obtained by the following expression. This expression is called “Minkowski's r-metric”, which is normally r≧1. The case where r=1 corresponds to “Manhattan distance”, and the case where r=2 corresponds to “Euclidean distance”. Although r=2 in the present embodiment, any value of not less than 1 may be chosen for r.
dxy={∑i=1n(xi-yi)r}1r(2)
Further, in the present embodiment, n=2 in the above expression, because the vectors are to be arranged in the two-dimensional space.
In step508, a variabledij
is calculated using monotonic regression. Hereinafter, this variable is also referred to as “hat dij” for convenience' sake. The monotonic regression is now explained briefly. Firstly, δi, jcalculated in step502are arranged in ascendant order. Then, dijare arranged corresponding to their subscripts. For example, assuming that δi, jare δ4, 5, δ2, 1, δ6, 3, . . . in ascendant order, dijare also arranged in the corresponding order of d4, 5, d2, 1, d6, 3, . . . , which are not necessarily arranged in ascendant order because dijare initially assigned random numbers.
If d4, 5d2, 1, however, the monotonic relationship with δi, jdoes not hold, and accordingly, the arithmetic mean of the neighboring terms, db1=(d4, 5+d2, 1)/2, is calculated, and db1is compared with the next term d6, 3. If db1d6, 3, the number of terms for which the arithmetic mean is to be calculated is further increased. The monotonic regression is explained in more detail on page 102 and on in the Reference Document described above.
When the monotonically transformed hat dijare obtained, “stress” S is calculated according to the following expression.
S=∑i<j(dij-d^ij)2∑i<jdij2(3)
In step510, it is determined whether the stress S has converged, i.e., whether the change of the value of the stress S from that in the previous loop is smaller than a predetermined value. If it is determined that the stress S has not converged, in step512, the spatial configuration is updated by a steepest descent method.
In the steepest descent method, a gradient of the stress S with respect to the change of the spatial configuration is calculated, and the spatial configuration in the opposite direction from the gradient direction, i.e., the direction in which the stress S decreases most, is chosen. The simplest way is to use the Newton method in numerical calculation. A more detailed explanation is found on page 107 and on in the above-described Reference Document. Alternatively, the method described in the following document may be used: J. W. Sammon, “A nonlinear mapping for data structure analysis”, IEEE Transactions on Computers, C-18(5): 401-409 (1969).
When the spatial configuration is updated by the steepest descent method, in step506, the distances dijbetween the vectors are calculated according to the updated spatial configuration. Next, in step508, hat dijare calculated from dijusing the monotonic regression as described above, and the stress S is calculated from these dijand hat dijusing the expression (3).
In step510, it is again determined whether the stress S has converged, and if the difference between the value of the stress S calculated this time and that calculated previously is smaller than a predetermined value, it is concluded that the stress S has converged, and the process proceeds to step514.
In step514, mapping information is determined based on the spatial configuration dijthus obtained. Specifically, the above-described feature vectors X(i)(i=1 . . . N) include a feature vector of the user and feature vectors of the respective islands. Accordingly, the mapping information refers to an arrangement of these feature vectors X(i)(i=1 . . . N) in the two-dimensional space such that the distances between the feature vector X(i)and the feature vectors X(i)correspond to dij.
FIG. 6graphically shows an example of such mapping processing. InFIG. 6, the left side indicates the original location of islands A, B, C, D, E, and F. In the original location, the island A is at coordinates (2,2), the island B is at coordinates (4,4), and so on. The original location corresponds to the arrangement of the islands provided to all the users when the present invention is not applied.
InFIG. 6, the right side indicates the location of the islands mapped from the original location, based on the mapping information generated for a specific user through the processing shown inFIG. 5. In the mapped location, as shown, the island A, which was at coordinates (2, 2) in the original location, is mapped to coordinates (4, 2). The island D, which was at coordinates (5, 6) in the original location, is mapped to coordinates (5, 3), and so on. The mapping information is stored as mapping information406in the map server124and, upon login of the particular user to the virtual world system, the virtual world is presented to the user via the map server124based on the mapped location of the islands, instead of the original location.
FIG. 7basically corresponds to the mapped location shown on the right side ofFIG. 6. As an additional feature of this example, a passage702and additional objects704and706are added to the places where islands are not mapped. Such addition of objects to the vacant areas in the mapped location is provided by the map server124as additional information to the mapping information, in response to a request from the user, or by another optional function.
The map server124may prepare the objects to be added. Each user may add any of them to the virtual space provided according to the mapping information specific to the user.
Further, at the time of mapping, the map server124may arrange the neighboring islands in slightly offset positions, as shown inFIG. 8, so that the user can readily move from one island D to the neighboring island A or F, for example.
The contents that the user's client computer renders on the screen upon login of the user into the virtual space are generally provided through one of the mapping information406ato406cstored in the map server124corresponding to that user. That is, in the case where the contents to be displayed on the screen of the client computer only relate to the objects and/or events inside the island where the avatar of the user is now staying, the client computer is directly connected to the server related to that island as shown e.g. inFIG. 1, with the map server124being passed through, in which case the mapping information is not particularly used. On the other hand, even if the avatar is on a certain island, if the avatar can see the neighboring islands or if the avatar is on the road bridging the islands or flying in the sky, the information of a plurality of islands is necessary for the client computer to render them, so that the mapping information for mapping the positional relationship between the islands is used. At this time, the map server124detects related islands from the mapping information as well as from the avatar's field of view, and queries the servers of the corresponding islands. It then combines the obtained information as necessary, and transfers the resultant information to the client computer.
A specific example of the arrangement of the islands according to the multidimensional scaling will now be explained from another point of view, using a simple example. For convenience of explanation, the number of islands is set to “5”. Here, the feature vector of the user is represented as X, and the feature vectors of the islands are represented as A, B, C, D, and E. The following table 1 shows the Euclidean distances between the feature vectors calculated using the above-described expression (1).
TABLE 1XABCDEX0.01.52.51.623.125.4A1.50.01.02.221.724.0B2.51.00.03.020.523.0C1.62.23.00.022.725.1D23.121.720.522.70.02.4E25.424.023.025.12.40.0
As seen from this table, the islands A, B, and C are relatively close to the hobbies and preference of the user, while the islands D and E are relatively far therefrom.
FIG. 9shows, by way of example, the six feature vectors in Table 1 arranged in a two-dimensional space according to multidimensional scaling. As seen from the figure, the islands A, B and C relatively close to the user's hobbies and preference are physically located relatively close to the user X, while the islands D and E relatively far from the user's hobbies and preference are physically located relatively far from the user X.
Such location is achieved because the configuration diagram generated by the multidimensional scaling holds the order of the distances between the feature vectors before the number of dimensions is reduced. This means that, from the standpoint of the user X, the location keeps the distance relationship reflecting the user's hobbies and preference. Thus, by applying the positional relationship between the vectors with the user as the base point as it is to the relocation of the islands in the virtual space, the relationship between the neighboring islands reflecting the user's interest can be established. The mapped position of the user X preferably corresponds to the initial position when the user X logs into the virtual space, which allows the user X to see and visit the islands the user is interested in, immediately after the login.
FIG. 10shows the location of the islands mapped according to the present invention in the virtual space more globally than inFIG. 9. As seen fromFIG. 10, according to the present invention, the area including the islands primarily related to businesses and companies and the area including the islands primarily related to colleges and universities, for example, appear as separate clusters.
FIG. 11shows the location of the islands mapped according to the present invention in the virtual space still more globally than inFIG. 10. As seen fromFIG. 11, according to the present invention, the islands belonging to similar categories are clustered globally in response to the user's feature vector. When the user visits an island of a specific category, there are a large number of neighboring islands that attract the user's attention. This saves the user the trouble of looking for an interesting island in a visual manner or the like, thereby considerably increasing the convenience of the virtual space.
While the values of the feature vector for each user are determined initially when the user has an account in the virtual world for the first time, the user's profile may change over time, and above all, the event information on the islands and the like change by the minute, so that it is desirable that the mapping information be updated as appropriate. To this end, the map server124updates the mapping information406for each user by the map calculation module408, using the user profile402and the island information404, regularly or in response to detection of a new event on an island.
Further, in the above embodiment, the feature vector of each user, generated from the user's profile and preference, and the feature vectors of the respective islands, including the profiles and event information of the islands, are subjected to multidimensional scaling to generate mapping information specific to the user to be mapped in two dimensions, and the mapping information specific to the user is used when the user logs in. Alternatively, it is possible to prepare a plurality of pieces of typical and recommendable mapping information (e.g., for classical music funs, for soccer funs, and so on) to allow the user to chose one of them at the time of login.
Furthermore, although the Kruskal method is used among the multidimensional scaling methods for generating the mapping information in the above embodiment, the present invention may use any techniques called nonmetric multidimensional scaling among the multidimensional scaling methods. For the nonmetric multidimensional scaling, besides the above-described Kruskal method, Shepard method and Guttman method are known, which are also usable for the present invention.
Claims
- A computer-implemented virtual space system for dynamically generating a plurality of partial virtual spaces that a plurality of client computers access from a plurality of servers having processing devices, said virtual space system comprising: a login server for client login;at least one data server for storing and updating user profile information and profiles of said partial virtual spaces;at least one map server comprising means for calculating distances representing similarity relationships between a first feature vector comprising a user profile with user preferences for a user of a client computer and each of a plurality of second feature vectors including profiles of said partial virtual spaces and means for generating mapping information defining location of said partial virtual spaces relative to a user avatar so as to keep the order of the distances calculated and to provide mapping information to at least one partial virtual space server, wherein the distances δ i, j· between vectors i and j are calculated by δ ij = ∑ d = 1 m ( X d ( i ) - X d ( j ) ) 2 ( 1 ) where m is the number of dimensions of the feature vectors, and X (i) and X (j) are the first and second feature vectors;and a plurality of partial virtual space servers for each of a plurality of partial virtual spaces, said partial virtual space servers comprising means for presenting said partial virtual spaces to said client computer based upon said mapping information generated whereby said client computer dynamically renders display of the partial virtual spaces for the user based on the user preferences.
- The system according to claim 1 , further comprising: means for preparing said first feature vector for each user of said client computers;means for storing said mapping information for each user;and means, in response to access of said user to said virtual space system, for selecting the mapping information corresponding to said user, wherein said partial virtual spaces are presented to said client computer of said user based upon the location defined by said selected mapping information.
- The system according to claim 1 , wherein the location of said partial virtual spaces is determined by multidimensional scaling.
- The system according to claim 3 , wherein the location of said partial virtual spaces is determined by Kruskal method.
- A computer-implemented method for operating a virtual space system for dynamically generating a plurality of partial virtual spaces that a plurality of client computers access when implemented on a plurality of servers having processing devices said method comprising the steps of: having a login server for client login;and at least one data server for storing and updating user profile information and profiles of said partial virtual spaces, calculating distances representing similarity relationships between a first feature vector including a profile with user preferences of a user of a client computer and each of a plurality of second feature vectors including profiles of said partial virtual spaces, respectively, wherein the distances δ ij between vectors i and j are calculated by δ ij = ∑ d = 1 m ( X d ( i ) - X d ( j ) ) 2 ( 1 ) where m is the number of dimensions of the feature vectors, and X (i) and X (j) are the first and second feature vectors;generating mapping information defining location of said partial virtual spaces relative to a user avatar so as to keep the order of the distances calculated and providing mapping information to at least one virtual space server;and at least one virtual spacer server presenting said partial virtual spaces to said client computer based upon said mapping information generated whereby said client computer dynamically renders display of partial virtual spaces for the user based on the user preferences.
- The method according to claim 5 , further comprising the steps of: preparing said first feature vector for each user of said client computers;storing said mapping information for each user in storage means of said virtual space system;and in response to access of said user to said virtual space system, selecting the mapping information corresponding to said user, wherein said partial virtual spaces are presented to said client computer of said user based upon the location defined by said selected mapping information.
- The method according to claim 5 , wherein the location of said partial virtual spaces is determined by multidimensional scaling.
- The method according to claim 7 , wherein the location of said partial virtual spaces is determined by Kruskal method.
- The method according to claim 7 , further comprising applying spatial configuration to δ i, j· and obtaining a d ij for each partial virtual space, wherein d ij is the distance between vectors after application of the spatial configuration.
- The method according to claim 9 , wherein the mapping information comprises an arrangement of feature vectors X (i) (i =1 . . .N) in two-dimensional space such that the distances between the feature vector X( (i) and the feature vectors X (j) correspond to d ij .
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.