US20050216515A1 - Method for describing objects in a virtual space - Google Patents

Method for describing objects in a virtual space Download PDF

Info

Publication number
US20050216515A1
US20050216515A1 US11/105,789 US10578905A US2005216515A1 US 20050216515 A1 US20050216515 A1 US 20050216515A1 US 10578905 A US10578905 A US 10578905A US 2005216515 A1 US2005216515 A1 US 2005216515A1
Authority
US
United States
Prior art keywords
objects
map
listing
describing
virtual space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/105,789
Inventor
Tim Bray
David Ashworth
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Antarti ca Systems Inc
Original Assignee
Antarti ca Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Antarti ca Systems Inc filed Critical Antarti ca Systems Inc
Priority to US11/105,789 priority Critical patent/US20050216515A1/en
Publication of US20050216515A1 publication Critical patent/US20050216515A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Definitions

  • the present invention relates to virtual spaces and particularly to using a protocol to describe a series of objects onto such a virtual space.
  • a virtual space consists of a surface with rectangular bounds and the area above the surface. This is very much like a landscape or topography in the real world. Virtual spaces can contain data objects spread across the surface, much in the same way that buildings, roads, and other real-world objects are arrayed on the surface of our world. Just as buildings in the real world can be grouped hierarchically into neighborhoods, cities, or nations, objects in a virtual space can be grouped into hierarchical categories.
  • URL objects are placed in the virtual space according to categories, such as MUSIC, COMPUTERS, POLITICS, etc.
  • categories such as MUSIC, COMPUTERS, POLITICS, etc.
  • a user connected to the Internet can view and navigate through a 2D map or a 3D map of the virtual space to locate desired URLs.
  • Other categorized virtual spaces could contain a manufacturers' product catalog or a library's card catalog.
  • the virtual space could be used within a geographic information system or a multi-user computer game, for example.
  • client/server applications requires the use of some type of visualization protocol.
  • a server stores information about the objects in the virtual space on a database and transmits a description of the virtual space over a network (such as the Internet) to client computers.
  • client/server computer applications have had disadvantages.
  • the protocols have not been compact and have not made efficient use of network bandwidth.
  • protocols have consisted of large messages to the client describing all of the details of how to draw a current map portion of the virtual space.
  • One such example of this is VRML (virtual reality markup language).
  • VRML virtual reality markup language
  • protocols that enforce a particular visualization severely limit the client application.
  • Such a client cannot alter the presentation of the information to suit the need of different types of user groups. In order to present the information in a different way, both the client and the server must be modified.
  • This invention can be regarded as a method and protocol for describing a series of objects mapped onto a virtual space.
  • the method includes the steps of listing metadata for each of the objects and expressing a position within a virtual world for each of the objects to be visualized.
  • the position with the virtual world may be described with an ⁇ x,z> coordinate set.
  • metadata can include the title of the object, a description, a count of the number of pages within the website object, a count of the number of links pointing either from or to the object, a rating for the website object, etc.
  • the metadata is of course different for other types of hierarchical objects.
  • the method may include describing the locations of one or more categories to with the objects have been assigned.
  • the present invention differs in many crucial respects from prior work in this field, and the cumulative effect of these innovations is a dramatically improvement in the transfer of visualization data over a network.
  • FIG. 3 is a example of a hierarchical directory of objects.
  • FIG. 4 is a block diagram of one embodiment of a runtime subsystem employing a protocol in accordance with the present invention.
  • FIG. 6B is a simplified view of a three-dimensional map that can be described by one embodiment of the present invention.
  • FIGS. 11A through 11G present a flow chart for one embodiment of a map server module in accordance with the present invention.
  • FIGS. 12A through 12C present a flow chart for one embodiment of a 3D Browser Plug-in, in accordance with the present invention.
  • FIG. 13 presents an illustration of the use of HTTP, URL, and the XYZ Protocol to communicate between the client and the server.
  • the present invention is a method for describing objects in a virtual space.
  • the reference numbers include: Reference Number Description 110 runtime database 115 runtime subsystem 150 map serving software 155 web server 160 network 165 web browser 170 3D browser plug-in 175 host computer 180 client computer 605 visualization of object 610 visualization of category 615 visualization of metadata 1101-1192 steps of flowcharts in FIGS. 11A through 11G 1205-1266 steps of flowcharts in FIGS. 12A through 12C
  • objects in a virtual space are described using XML, a data format for structured document interchange over the web.
  • XML a data format for structured document interchange over the web.
  • HTML is designed to organize information, rather than merely to display it.
  • This structured information contains both content and some indication of what the content means.
  • HTML is a predefined markup language whose purpose is displaying information
  • XML is a customized meta-language whose purpose is describing the content of data objects.
  • a computer system having several modules is configured to use the protocol to provide a visualization of an information network made up of categories and sites.
  • the system can visualize web sites on the Internet by category.
  • Such a visualization provides a map to the user in which each web site is a location within a category, which itself may be a subcategory of another category.
  • the websites and categories are from the Open Directory (ODP) database of web sites organized by categories (see ⁇ dmoz.org>).
  • ODP Open Directory
  • Another example of an information network ripe for visualization is a computer file system that is organized into Directories and Files.
  • a Directory/File grouping is analogous to a Category/Site grouping.
  • the category/site visualization will be described.
  • One skilled in the art will understand that such a system can be configured to visualize directory/file and many other types of hierarchical information spaces.
  • XZ-coordinate sets Three formats are used to describe a point or a region within the 2D map or the 3D virtual world: XZ-coordinate sets, XYZ-coordinate sets, and XZWD-coordinate sets.
  • An XZ-coordinate set describes a unique location on a two-dimensional map, where the units are in meters. The X-axis of the map increases from left to right while the Z-axis of the map increases from back to front.
  • the coordinate set (50, 1200) describes a location that is 50 meters from the left edge of the world and 1200 meters from the back edge of the world.
  • An XYZ-coordinate set describes a unique location in a three-dimensional space, where the Y-axis of the space increases from bottom to top.
  • the coordinate set (50, 1200, 300) describes a location that is 50 meters from the left edge of the space, 1200 meters above the surface of the space and 300 meters from the bottom of the space.
  • An XZWD-coordinate set describes a rectangular polygon region on the surface of the space where W represents the width of the rectangle and D represents its depth.
  • the (1200, 1400, 300, 130) coordinate set represents a rectangle whose back left corner is at 1200 meters from the left of the landscape, 1400 meters from the back of the landscape, and which is 300 meters in width and 130 meters in depth.
  • the Internet is visualized for users of the system as either a 2D map or as a 3D virtual world.
  • Web sites on the Internet are assigned to categories.
  • the categories are hierarchical, so each category can be a parent category having zero or more child subcategories.
  • an ART category can have subcategories of MUSIC and MOVIES.
  • the MUSIC category can have the further subcategories of LYRICS and STYLES.
  • the computer system maps these categories and web sites to a map region.
  • Each web site is assigned a (x,z) coordinate set which places it at an exact location within the map region.
  • Each category is assigned an area, which is a polygon region within the map region.
  • the polygon regions are rectangles along the surface of the map region. The rectangles are defined by a (x,z,w,d) coordinate set (where x and z are points along the x-axis and the z-axis, w is a width measurement, and d is a depth measurement).
  • a segment of the categorized directory of the Internet is presented to the user by displaying each of the categories' polygon regions on the map region.
  • each polygon region is displayed as a different color to assist the user in differentiating among the categories.
  • a real region on the Earth is used as the basis for the map region. For example, in one embodiment, the continent of Antarctica is used as the map region and a directory of websites is visualized as locations in Antarctica.
  • a graphic is displayed for each of the web sites within each of the categories.
  • the graphic may be shown as a type of a building.
  • the graphic that is displayed can be dependent upon a value of one or more metadata items associated with the web site. For example, the better of a review that a web site receives from an editor perhaps the bigger the building is displayed.
  • the web sites within a category are assigned a visibility rank, where, based on some criteria, the “best” web sites are the most visible.
  • Other metadata for the web sites can also be displayed, either as a permanent part of the visualization, or only upon a specific action (such as the user mousing over the web site's graphic).
  • a metaphor of a world or city can be used.
  • a real area of the world can be used as the map region, to which the hierarchical objects can be mapped.
  • Each category area can be seen as a neighborhood within a city, and each web site's graphic can seem to be a building within a city.
  • virtual roads can be presented between the category areas.
  • FIG. 4 One embodiment of a system utilizing the present invention is shown in FIG. 4 .
  • the runtime database 110 stores the information space being visualized, such as an information network made up of categories and sites, such as shown in FIG. 3 .
  • Categories are organized into a hierarchy, i.e., each category has a single parent category and can have zero or more subcategories or child categories. Categories at the top of a hierarchy are special cases in that they do not have a parent. These are called top-level categories.
  • the system can handle an arbitrary number of categories, top-level categories, subcategories, and hierarchy depth.
  • FIG. 3 shows categories as rectangles. Thus, ARTS, MUSIC, and MOVIES as three of the seven categories. Notice that MUSIC is a child subcategory to ARTS but is a parent category to LYRICS and STYLES.
  • each category can contain zero or more sites (i.e., website).
  • sites are shown by numbered circles.
  • circle 1 is a site associated to the ARTS category.
  • the site could be, for example, ⁇ www.walkerart.org>.
  • a site can appear in one or more categories.
  • a site has attributes that are stored in the database such as: title, description, URL, map location, and metadata. Two of the site attributes are key to the function of the system. The first is map location.
  • Each category/site pair is given a unique (x,z) coordinate set locating it on a two-dimensional map.
  • the second key class of site attributes is metadata.
  • metadata are: size, in-link count, and out-link count.
  • Site metadata is collected and calculated. Metadata is communicated to a user through the visualization. For example, the size of the graphic can very based on the website's visibility rating.
  • the runtime subsystem 115 which provides visualization services to users, shown in FIG. 4 , consists of a host computer 175 and a client computer 180 .
  • the host computer 175 is preferably a commercial Intel PC running the Linux operating system with 1 gigabyte of RAM memory.
  • the runtime subsystem 115 is designed to be scalable and fault tolerant through server replication.
  • the host computer 175 of the runtime subsystem 115 contains the web server 155 and the map serving software 150 (which responds to queries from visualization clients).
  • One embodiment of the system uses the Apache web server software. This is a robust, commercial-grade, feature-rich, and freely available source code implementation of an http web server. Information on the Apache web server is available at ⁇ www.apache.org>.
  • the map serving software 150 is an Apache module that responds to queries from the visualization clients 180 .
  • the queries are formed using the protocol of the present invention.
  • the server satisfies the queries by extracting the requested data from the runtime database 110 .
  • the map serving software 150 has been configured in one embodiment to support the following interfaces, among others: Interface Description /category Retrieve map information by category /xzwd retrieve map information by area rectangle
  • FIGS. 11A through 11G describe the functional processing of one embodiment of the map server.
  • the map server parses the URL's parameters from a request (steps 1102 ) and responds according to which of the seven types of interfaces is involved.
  • the map server 150 sets x, z, w, and d to the category's coordinates. If 3D output is supported, XML is output for all of the categories (and subcategories) within ⁇ x, z, w, d> and then outputs all of the sites within this space (steps 1121 and 1122 ). Otherwise, if 2D output is required, the x,z,w,d location is centered in the display window (step 1176 of FIG. 11G ), and all of the sites and categories within this region are retrieved (step 1178 ). Categories that are too far below the parent category are eliminated (step 1180 ) as well as sites that fall outside of the parent category area (step 1182 ). The categories are alphabetically sorted ( 1184 ) and they are assigned each a different color (step 1186 ) before being displayed through HTML, etc. (steps 1188 , 1190 , 1192 ).
  • the map server 150 determines which parent category is the best to display (step 1124 ) and then outputs the proper information in either 3D or 2D.
  • a /chat request causes the map server to launch a chat client for the respective category (step 1116 ).
  • an HTML listing is produced listing the hyperlinks for each top-level Category (step 1164 ) or for each subcategory within a specific category (steps 1168 - 1174 ).
  • the hyperlinks listing for allowing teleport navigation is then output (step 1166 ) to allow the user to jump (i.e., teleport) to any of the listed categories.
  • the search string is first parsed into the string's component words (step 1132 ).
  • the category word index is searched to determine whether any direct matches exist (step 1134 ).
  • the site word index is searched to determine whether any direct matches exist for sites (step 1136 ). If direct matches were found, they are output to the user (step 1140 or step 1148 ), otherwise partial matches are returned (steps 1154 - 1160 , 1150 , 1152 , 1142 , 1144 ).
  • the host computer 175 serves information that is requested by various client computers 180 via a computer network 160 such as the Internet's IP network.
  • a computer network 160 such as the Internet's IP network.
  • users with client computers 180 connected to the Internet must have a web browser 165 .
  • the client computer 180 must also have a 3D plug-in 170 .
  • the system is compatible with current web browsers such as Microsoft's Internet Explorer and Netscape's Communicator. Such web browsers provide the user with a two-dimensional visualization of the information space. If the optional 3D plug-in 170 is present, the browser 165 can provide a 3D image.
  • the 3d browser plug-in software 170 provides a three-dimensional visualization of the runtime database 110 .
  • a virtual world comprising ground and sky, and in which the websites are represented as buildings can be rendered.
  • the graphical elements are used to convey metadata information to the user creating a semantically rich landscape. Examples of such graphical elements include: building architecture, size, color, and adornments. Text is used as well to convey information. For example, a text window can be displayed when a user mouses-over a building.
  • the 3d browser plug-in 170 enables a user to move explore the information landscape by moving around and changing the viewpoint. Integration of the plug-in 170 with html in the browser 165 enables the user to control the visualization with functions such as zoom and teleport.
  • FIGS. 12A, 12B , and 12 C describe the functionality of one embodiment of the 3D browser plug-in 170 .
  • the plug-in is initialized (step 1205 )
  • the first xzwd is requested from the server (step 1222 ) and the server answers with an XML response (step 1222 ).
  • Each XML element of the response is parsed as a category (step 1224 ), an ad ( 1227 ), or a site ( 1229 ).
  • the main loop of the 3D browser plug-in 170 involves sensing navigation (step 1254 ) or mousing ( 1258 ) actions. If navigation requires more of the virtual world to be displayed, then the display is updated to reflect the new position (steps 1264 and 1266 ).
  • the present invention which can be called the “XYZ Protocol” is used as a protocol for describing the objects to be visualized.
  • the method of the present invention could be implemented in various ways, one method of implementation is to create a series of XML tags.
  • the XYZ Protocol is based on top of HTTP and URL.
  • the XYZ Protocol is well suited for Internet-based applications.
  • the XYZ Protocol is very appropriate for traversing virtual spaces because rather than delivering to the client lengthy instructions on how to render the objects, the Protocol instead delivers only the coordinates for the object and metadata about the object.
  • the client is free to be configured to render the objects as desired.
  • a single server using the XYZ Protocol to deliver responses describing a set of objects in a virtual space can be simultaneously leveraged by different types of clients. For example, some clients could be configured to depict the objects for school-age users. In such a system, perhaps the web-site objects are shown as different cartoon characters. Other clients could be configured to depict the objects for adults. In this system, the web-site objects can be shown as a city made up of different types and sizes of buildings. New clients with new rendering approaches can be developed without needing to change the server.
  • the XYZ Protocol is very flexible because by the very nature of XML, new tags can be created and added to the Protocol as necessary.
  • the Protocol is also desirable because it is compact and conserves bandwidth during transmission over protocols (such as VRML) that transmit physical details of the objects to be visualized rather than allowing the client to off-load the rendering process. Since the client undertakes the rendering, the server can handle a large number of users concurrently, sending only facts, labels and metadata in response to the various requests.
  • FIG. 13 shows a simplified version of the system of FIG. 4 with the flow of information shown by dashed lines.
  • a user uses a web-browser 165 to view a map of the virtual world.
  • the user may cause a request to be constructed by entering a search term, selecting an area of the on-screen map with the mouse, or navigating through the map with the mouse or keyboard.
  • the web browser 165 transmits the request via a HTTP GET method (Step A of FIG. 13 ).
  • the request might be for a description of the objects within a rectangle whose back left corner is at 120,000 meters form the left of the landscape, 140,000 meters from the back of the landscape, and which is 300 meters in width and 130 meters in depth.
  • the request may indicate that a maximum of 22 objects should be described.
  • Such a request might be coded as:
  • the request might be coded as:
  • the request can be transmitted over the network 165 and received by the host computer 175 web server 155 , and passed to the map serving software 150 for a response.
  • the map serving software 150 can be configured to parse the request, retrieve the specified information from the runtime database 110 (Step B of FIG. 13 ), and construct the response using the XYZ Protocol via HTTP to the web browser 165 (Step C of FIG. 13 ).
  • the set of XYZ Protocol tags and attributes used in the responses are in a reserved XML Namespace.
  • the Namespace includes markup for packaging the whole transmission and for describing the X,Z,W,D region.
  • the Namespace also includes markup for describing each object's URL, Title, Description, and coordinate position, among other things.
  • the XYZ Protocol is made up of the following XML elements: ⁇ ?xml ?> ⁇ xyz> ⁇ /xyz> ⁇ copyright> ⁇ /copyright> ⁇ site> ⁇ u> ⁇ /u> ⁇ t> ⁇ /t> ⁇ d> ⁇ /d> ⁇ at /> ⁇ cat> ⁇ /cat> ⁇ ad />
  • y “ ”
  • the numerical value of “y” corresponds with the height in meters you are located above the map (in meters).
  • z “ ”
  • the numerical value of “z” corresponds with the z co-ordinates on the map (vertical measurements, in meters).
  • w “ ”
  • the numerical value of “w” corresponds to the width of the entire viewable map area in meters.
  • d “ ”
  • the numerical value of “d” corresponds to the height of the entire viewable map area in meters.
  • maxPC “ ”
  • the numerical value of “maxPC” or maximum Page Count corresponds to the highest number of pages on one site.
  • maxOL “ ”
  • the numerical value of “maxOL” or maximum Out Links corresponds to the highest number of links pointing away from a particular site.
  • maxIL “ ” The numerical alue of “maxIL” or maximum In Links corresponds to the highest number of links pointing to a site.
  • maxG “ ” The numerical value of “maxG” or maximum graphics corresponds to the graphics intensity of a site. It is currently not in use.
  • maxR “ ” The numerical value of “maxR” or maximum ratings is either 0 or 100, therefore the maximum value will be 100.
  • the AT Tag for Locations Elements Attributes Meaning ⁇ at /> The tag corresponding to the location of a particular site on the map.
  • x “ ”
  • the numerical value of “x” corresponds to the number of meters from the left side of the map in which the site is located.
  • z “ ”
  • the numerical value of “z” corresponds to the number of meters from the top of the map in which the site is located.
  • cat ‘ ’
  • the numerical value for “cat” corresponds to the category in which the site is located.
  • id “ ” The category ID number.
  • x “ ” The numerical value of “x” corresponds to the number of meters from the left side of the map in which the square is situated.
  • z “ ” The numerical value of “z” corresponds to the number of meters down from the top of the map in which the square is situated.
  • w “ ”
  • the numerical value of “w” corresponds to the width of the square in meters on the map.
  • d “ ”
  • the numerical value of “d” corresponds to the height of the square in meters on the map.
  • depth “ ” numerical value of “depth” corresponds to the depth of the category in the hierarchy.
  • x “ ” The “x” co-ordinate of the advertisement on the map.
  • z “ ” The “z” co-ordinate of the advertisement on the map.
  • ad “ ” The id of the ad to display.
  • the map serving software 150 constructs the response with the above described XYZ Protocol and the response is sent through the network 160 to the client 180 via HTTP (Step C of FIG. 13 ).
  • the subcategory is positioned according to the x,z,w,d coordinates of (2901100, 355000, 1300, 800).
  • category is rendered by the client as a rectangle plot of virtual land.
  • two web sites are to be displayed: (1) The REXX Adventure Page at coordinates (2901105, 355005), and (2) The Adventure Builder at coordinates (2901165, 355035).
  • the 3D Browser Plug-In 170 parses the XYZ response and renders the objects in a 3D map (Step D of FIG. 13 ).
  • FIG. 6B shows a 3D visualization of a portion of the information space that was rendered by a client in accordance with an XYZ Protocol response.
  • the visualization of objects 605 is shown as a house 605 . 1 , a factory 605 . 2 , or skyscraper 605 . 3 , depending on the object's visibility rating. From the label “/start/arts/movies”, the user can determine that she or he is viewing the “ARTS” top-level category.
  • Visualization of subcategories 610 are the blocks of ‘land’ underneath the various objects. For example, the MOVIES subcategory is the land area at the foreground of FIG. 6B .
  • Visualization of metadata 615 includes in FIG. 6B the object's title hovering over the object's visualized building.

Abstract

A method for describing objects in a virtual space. In one embodiment, each object is a URL, which has been assigned to a system of hierarchical categories. The objects have been mapped to a map region, each object having been given a location within the map region. Each category within the map region is defined as a polygon area covering all of the category's objects as well as all of the category's subcategories. A client computer can request a portion of the map to be visualized. A host computer receives the request and retrieves the appropriate objects and categories from a database. The host computer forms the response to the request using a protocol which describes facts, location, and metadata about the objects and categories. The encoded response is delivered to the client. The client decodes the response and renders the objects and categories for the user. Different types of clients can concurrently request object descriptions from the server.

Description

    PRIORITY CLAIM AND CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 09/712,544, filed Nov. 14, 2000, the entirety of which is hereby incorporated by reference. U.S. patent application Ser. No. 09/712,544 claims the benefit of: U.S. Provisional Application No. 60/232,284, filed Sep. 13, 2000, entitled “System and Method for Network Information Visualization”; and U.S. Provisional Application No. 60/232,213 filed Sep. 13, 2000, entitled “System and Method for Describing Objects in a Virtual Space.” The contents of both provisional applications are incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • The present invention relates to virtual spaces and particularly to using a protocol to describe a series of objects onto such a virtual space.
  • A virtual space consists of a surface with rectangular bounds and the area above the surface. This is very much like a landscape or topography in the real world. Virtual spaces can contain data objects spread across the surface, much in the same way that buildings, roads, and other real-world objects are arrayed on the surface of our world. Just as buildings in the real world can be grouped hierarchically into neighborhoods, cities, or nations, objects in a virtual space can be grouped into hierarchical categories.
  • Many types of hierarchical objects can be placed in a virtual space. In some systems, URL objects are placed in the virtual space according to categories, such as MUSIC, COMPUTERS, POLITICS, etc. In these types of systems, which includes a database, a web server, and a browser, a user connected to the Internet can view and navigate through a 2D map or a 3D map of the virtual space to locate desired URLs. Other categorized virtual spaces could contain a manufacturers' product catalog or a library's card catalog. Or, the virtual space could be used within a geographic information system or a multi-user computer game, for example.
  • Although applications running on a single computer have not needed a visualization protocol, client/server applications requires the use of some type of visualization protocol. In such a system, a server stores information about the objects in the virtual space on a database and transmits a description of the virtual space over a network (such as the Internet) to client computers. In the past, such client/server computer applications have had disadvantages. The protocols have not been compact and have not made efficient use of network bandwidth.
  • Usually, protocols have consisted of large messages to the client describing all of the details of how to draw a current map portion of the virtual space. One such example of this is VRML (virtual reality markup language). Although such protocols do well in describing the landscape, they use far too much bandwidth. In addition, protocols that enforce a particular visualization severely limit the client application. Such a client cannot alter the presentation of the information to suit the need of different types of user groups. In order to present the information in a different way, both the client and the server must be modified.
  • Some protocols have had the disadvantage of being closed, proprietary protocols. Although some manufacturers claim that such a closed system best protects their market interests, open source applications, such as Linux, have recently shown that open source applications help to encourage further enhancements and industry adoption of standards.
  • As with many elements of the Internet, past protocols have acted as though everyone on the Internet speaks English. Non-English speakers have had troubles working with other protocols that do not support other languages. And even English speakers have not been able to easily use past protocols because the protocols have not readily described the categories or other hierarchical principles of the objects and the metadata associated with the objects.
  • What is needed is an easy-to-use protocol for describing objects in a virtual space. Such a protocol should be extensible, well suited to web-enabled client/server systems, and capable of supporting multiple languages.
  • SUMMARY OF THE INVENTION
  • This invention can be regarded as a method and protocol for describing a series of objects mapped onto a virtual space. The method includes the steps of listing metadata for each of the objects and expressing a position within a virtual world for each of the objects to be visualized. The position with the virtual world may be described with an <x,z> coordinate set. For a system which visualizes website information, metadata can include the title of the object, a description, a count of the number of pages within the website object, a count of the number of links pointing either from or to the object, a rating for the website object, etc. The metadata is of course different for other types of hierarchical objects. In addition to describing the objects to be visualized, the method may include describing the locations of one or more categories to with the objects have been assigned.
  • The present invention differs in many crucial respects from prior work in this field, and the cumulative effect of these innovations is a dramatically improvement in the transfer of visualization data over a network. Some of the advantageous characteristics of the present invention are:
    • 1. The protocol is a compact variable-size textual format that is designed for easy parsing.
    • 2. The protocol is a stable, open, highly interoperable Internet standard.
    • 3. The protocol supports the use of all international character sets.
    • 4. The protocol responses contain only facts, labels, and metadata, no particular graphical rendition on the client software is described.
    • 5. The protocol has built-in support for object location, metadata delivery, and category information.
    • 6. The protocol is well suited for Web deployment since it is built on a base consisting of HTTP, XML, and URLs.
    • 7. The protocol's use of XML Namespaces, it is extensible and so can be used by many different applications.
    BRIEF DESCRIPTION OF THE DRAWINGS
  • For a more complete understanding of the present invention and its features and advantages, reference is made to the following description taken in conjunction with accompanying drawings, in which:
  • FIG. 3 is a example of a hierarchical directory of objects.
  • FIG. 4 is a block diagram of one embodiment of a runtime subsystem employing a protocol in accordance with the present invention.
  • FIG. 6B is a simplified view of a three-dimensional map that can be described by one embodiment of the present invention.
  • FIGS. 11A through 11G present a flow chart for one embodiment of a map server module in accordance with the present invention.
  • FIGS. 12A through 12C present a flow chart for one embodiment of a 3D Browser Plug-in, in accordance with the present invention.
  • FIG. 13 presents an illustration of the use of HTTP, URL, and the XYZ Protocol to communicate between the client and the server.
  • The Figures are not numbered sequentially in this patent application because the Figures are duplicates of Figures in an abandoned application Ser. No. 09/712,107, filed on Nov. 14, 2000, entitled “System and Method for Network Information Visualization.”
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • The present invention is a method for describing objects in a virtual space. Throughout the drawings, an attempt has been made to label corresponding elements with the same reference numbers. The reference numbers include:
    Reference
    Number Description
    110 runtime database
    115 runtime subsystem
    150 map serving software
    155 web server
    160 network
    165 web browser
    170 3D browser plug-in
    175 host computer
    180 client computer
    605 visualization of object
    610 visualization of category
    615 visualization of metadata
    1101-1192 steps of flowcharts in FIGS. 11A
    through 11G
    1205-1266 steps of flowcharts in FIGS. 12A
    through 12C
  • In one embodiment of the present invention, objects in a virtual space are described using XML, a data format for structured document interchange over the web. Unlike HTML, XML is designed to organize information, rather than merely to display it. This structured information contains both content and some indication of what the content means. Basically while HTML is a predefined markup language whose purpose is displaying information, XML is a customized meta-language whose purpose is describing the content of data objects.
  • In one embodiment of the present invention, a computer system having several modules is configured to use the protocol to provide a visualization of an information network made up of categories and sites. For example, the system can visualize web sites on the Internet by category. Such a visualization provides a map to the user in which each web site is a location within a category, which itself may be a subcategory of another category. In one embodiment, the websites and categories are from the Open Directory (ODP) database of web sites organized by categories (see <dmoz.org>). Another example of an information network ripe for visualization is a computer file system that is organized into Directories and Files. A Directory/File grouping is analogous to a Category/Site grouping. Throughout this explanation, the category/site visualization will be described. One skilled in the art will understand that such a system can be configured to visualize directory/file and many other types of hierarchical information spaces.
  • I. Mapping Terminology
  • Three formats are used to describe a point or a region within the 2D map or the 3D virtual world: XZ-coordinate sets, XYZ-coordinate sets, and XZWD-coordinate sets. An XZ-coordinate set describes a unique location on a two-dimensional map, where the units are in meters. The X-axis of the map increases from left to right while the Z-axis of the map increases from back to front. For example, the coordinate set (50, 1200) describes a location that is 50 meters from the left edge of the world and 1200 meters from the back edge of the world. An XYZ-coordinate set describes a unique location in a three-dimensional space, where the Y-axis of the space increases from bottom to top. Thus, the coordinate set (50, 1200, 300) describes a location that is 50 meters from the left edge of the space, 1200 meters above the surface of the space and 300 meters from the bottom of the space.
  • An XZWD-coordinate set describes a rectangular polygon region on the surface of the space where W represents the width of the rectangle and D represents its depth. For example, the (1200, 1400, 300, 130) coordinate set represents a rectangle whose back left corner is at 1200 meters from the left of the landscape, 1400 meters from the back of the landscape, and which is 300 meters in width and 130 meters in depth.
  • II. Overview of the Visualization System
  • In one embodiment of the present invention, the Internet is visualized for users of the system as either a 2D map or as a 3D virtual world. Web sites on the Internet are assigned to categories. The categories are hierarchical, so each category can be a parent category having zero or more child subcategories. For example, an ART category can have subcategories of MUSIC and MOVIES. The MUSIC category can have the further subcategories of LYRICS and STYLES.
  • The computer system maps these categories and web sites to a map region. Each web site is assigned a (x,z) coordinate set which places it at an exact location within the map region. Each category is assigned an area, which is a polygon region within the map region. In one embodiment, the polygon regions are rectangles along the surface of the map region. The rectangles are defined by a (x,z,w,d) coordinate set (where x and z are points along the x-axis and the z-axis, w is a width measurement, and d is a depth measurement).
  • A segment of the categorized directory of the Internet is presented to the user by displaying each of the categories' polygon regions on the map region. In one embodiment, each polygon region is displayed as a different color to assist the user in differentiating among the categories. In one embodiment, a real region on the Earth is used as the basis for the map region. For example, in one embodiment, the continent of Antarctica is used as the map region and a directory of websites is visualized as locations in Antarctica.
  • A graphic is displayed for each of the web sites within each of the categories. In a 3D visualization, the graphic may be shown as a type of a building. The graphic that is displayed can be dependent upon a value of one or more metadata items associated with the web site. For example, the better of a review that a web site receives from an editor perhaps the bigger the building is displayed. To further differentiate web sites' graphics on the map region, in one embodiment of the system, the web sites within a category are assigned a visibility rank, where, based on some criteria, the “best” web sites are the most visible. Other metadata for the web sites can also be displayed, either as a permanent part of the visualization, or only upon a specific action (such as the user mousing over the web site's graphic).
  • In the 3D visualization, a metaphor of a world or city can be used. As already explained, in some embodiments, a real area of the world can be used as the map region, to which the hierarchical objects can be mapped. Each category area can be seen as a neighborhood within a city, and each web site's graphic can seem to be a building within a city. To aid in navigation among the categories, virtual roads can be presented between the category areas.
  • III. Runtime Database 110
  • One embodiment of a system utilizing the present invention is shown in FIG. 4. At the heart of such a system is the runtime database 110, which stores the information space being visualized, such as an information network made up of categories and sites, such as shown in FIG. 3.
  • Categories are organized into a hierarchy, i.e., each category has a single parent category and can have zero or more subcategories or child categories. Categories at the top of a hierarchy are special cases in that they do not have a parent. These are called top-level categories. The system can handle an arbitrary number of categories, top-level categories, subcategories, and hierarchy depth. FIG. 3 shows categories as rectangles. Thus, ARTS, MUSIC, and MOVIES as three of the seven categories. Notice that MUSIC is a child subcategory to ARTS but is a parent category to LYRICS and STYLES.
  • As well as subcategories, each category can contain zero or more sites (i.e., website). In FIG. 3, sites are shown by numbered circles. Thus, circle 1 is a site associated to the ARTS category. The site could be, for example, <www.walkerart.org>. A site can appear in one or more categories. A site has attributes that are stored in the database such as: title, description, URL, map location, and metadata. Two of the site attributes are key to the function of the system. The first is map location. Each category/site pair is given a unique (x,z) coordinate set locating it on a two-dimensional map.
  • The second key class of site attributes is metadata. Examples of metadata are: size, in-link count, and out-link count. Site metadata is collected and calculated. Metadata is communicated to a user through the visualization. For example, the size of the graphic can very based on the website's visibility rating.
  • IV. Runtime Subsystem 115
  • The runtime subsystem 115, which provides visualization services to users, shown in FIG. 4, consists of a host computer 175 and a client computer 180. The host computer 175 is preferably a commercial Intel PC running the Linux operating system with 1 gigabyte of RAM memory. The runtime subsystem 115 is designed to be scalable and fault tolerant through server replication. In one embodiment, the host computer 175 of the runtime subsystem 115 contains the web server 155 and the map serving software 150 (which responds to queries from visualization clients).
  • 1. The Host Computer 175
  • A. Web Server 155
  • One embodiment of the system uses the Apache web server software. This is a robust, commercial-grade, feature-rich, and freely available source code implementation of an http web server. Information on the Apache web server is available at <www.apache.org>.
  • B. Map Serving Software 150
  • In one embodiment of the system, the map serving software 150 is an Apache module that responds to queries from the visualization clients 180. The queries are formed using the protocol of the present invention. The server satisfies the queries by extracting the requested data from the runtime database 110. The map serving software 150 has been configured in one embodiment to support the following interfaces, among others:
    Interface Description
    /category Retrieve map information by category
    /xzwd Retrieve map information by area rectangle
  • (1) Map Server Processing 150
  • FIGS. 11A through 11G describe the functional processing of one embodiment of the map server. Referring to FIG. 11A, the map server parses the URL's parameters from a request (steps 1102) and responds according to which of the seven types of interfaces is involved.
  • If the request is for a category, then the map server 150 sets x, z, w, and d to the category's coordinates. If 3D output is supported, XML is output for all of the categories (and subcategories) within <x, z, w, d> and then outputs all of the sites within this space (steps 1121 and 1122). Otherwise, if 2D output is required, the x,z,w,d location is centered in the display window (step 1176 of FIG. 11G), and all of the sites and categories within this region are retrieved (step 1178). Categories that are too far below the parent category are eliminated (step 1180) as well as sites that fall outside of the parent category area (step 1182). The categories are alphabetically sorted (1184) and they are assigned each a different color (step 1186) before being displayed through HTML, etc. ( steps 1188, 1190, 1192).
  • If the /xzwd handler is invoked, the map server 150 determines which parent category is the best to display (step 1124) and then outputs the proper information in either 3D or 2D. A /chat request causes the map server to launch a chat client for the respective category (step 1116). With a /teleport request, an HTML listing is produced listing the hyperlinks for each top-level Category (step 1164) or for each subcategory within a specific category (steps 1168-1174). The hyperlinks listing for allowing teleport navigation is then output (step 1166) to allow the user to jump (i.e., teleport) to any of the listed categories.
  • If a /search request is made to the map server software 150, the search string is first parsed into the string's component words (step 1132). The category word index is searched to determine whether any direct matches exist (step 1134). Then the site word index is searched to determine whether any direct matches exist for sites (step 1136). If direct matches were found, they are output to the user (step 1140 or step 1148), otherwise partial matches are returned (steps 1154-1160, 1150, 1152, 1142, 1144).
  • 2. The Client Computer 180
  • The host computer 175 serves information that is requested by various client computers 180 via a computer network 160 such as the Internet's IP network. To access the information from the host computer 175, users with client computers 180 connected to the Internet must have a web browser 165. To process requests and responses that using the protocol of the present invention, the client computer 180 must also have a 3D plug-in 170.
  • A. Web browser 165
  • The system is compatible with current web browsers such as Microsoft's Internet Explorer and Netscape's Communicator. Such web browsers provide the user with a two-dimensional visualization of the information space. If the optional 3D plug-in 170 is present, the browser 165 can provide a 3D image.
  • B. 3D Browser Plug-In 170
  • The 3d browser plug-in software 170 provides a three-dimensional visualization of the runtime database 110. In such a 3D configuration, a virtual world comprising ground and sky, and in which the websites are represented as buildings can be rendered.
  • The graphical elements are used to convey metadata information to the user creating a semantically rich landscape. Examples of such graphical elements include: building architecture, size, color, and adornments. Text is used as well to convey information. For example, a text window can be displayed when a user mouses-over a building.
  • The 3d browser plug-in 170 enables a user to move explore the information landscape by moving around and changing the viewpoint. Integration of the plug-in 170 with html in the browser 165 enables the user to control the visualization with functions such as zoom and teleport.
  • FIGS. 12A, 12B, and 12C describe the functionality of one embodiment of the 3D browser plug-in 170. Once the plug-in is initialized (step 1205), the first xzwd is requested from the server (step 1222) and the server answers with an XML response (step 1222). Each XML element of the response is parsed as a category (step 1224), an ad (1227), or a site (1229). The main loop of the 3D browser plug-in 170 involves sensing navigation (step 1254) or mousing (1258) actions. If navigation requires more of the virtual world to be displayed, then the display is updated to reflect the new position (steps 1264 and 1266).
  • V. The XYZ Protocol for Describing Objects
  • The present invention, which can be called the “XYZ Protocol” is used as a protocol for describing the objects to be visualized. Although the method of the present invention could be implemented in various ways, one method of implementation is to create a series of XML tags. In such an embodiment, the XYZ Protocol is based on top of HTTP and URL. Thus the XYZ Protocol is well suited for Internet-based applications.
  • The XYZ Protocol is very appropriate for traversing virtual spaces because rather than delivering to the client lengthy instructions on how to render the objects, the Protocol instead delivers only the coordinates for the object and metadata about the object. The client is free to be configured to render the objects as desired. Thus, a single server using the XYZ Protocol to deliver responses describing a set of objects in a virtual space can be simultaneously leveraged by different types of clients. For example, some clients could be configured to depict the objects for school-age users. In such a system, perhaps the web-site objects are shown as different cartoon characters. Other clients could be configured to depict the objects for adults. In this system, the web-site objects can be shown as a city made up of different types and sizes of buildings. New clients with new rendering approaches can be developed without needing to change the server.
  • The XYZ Protocol is very flexible because by the very nature of XML, new tags can be created and added to the Protocol as necessary. The Protocol is also desirable because it is compact and conserves bandwidth during transmission over protocols (such as VRML) that transmit physical details of the objects to be visualized rather than allowing the client to off-load the rendering process. Since the client undertakes the rendering, the server can handle a large number of users concurrently, sending only facts, labels and metadata in response to the various requests.
  • The network information visualization system depicted in FIG. 4 can operate using the XYZ Protocol of the present invention. FIG. 13 shows a simplified version of the system of FIG. 4 with the flow of information shown by dashed lines. In such a system, a user uses a web-browser 165 to view a map of the virtual world. The user may cause a request to be constructed by entering a search term, selecting an area of the on-screen map with the mouse, or navigating through the map with the mouse or keyboard. The web browser 165 transmits the request via a HTTP GET method (Step A of FIG. 13). For example, the request might be for a description of the objects within a rectangle whose back left corner is at 120,000 meters form the left of the landscape, 140,000 meters from the back of the landscape, and which is 300 meters in width and 130 meters in depth. In addition, the request may indicate that a maximum of 22 objects should be described. Such a request might be coded as:
    • http://map.net/xzwd?x=120000;z=140000;w=30;d=130;maxS=22
  • Alternatively, the request might be coded as:
    • http://map.net/xyz?x=120000;y=3800;z=140000
      to request a view from the position at 120,000 meters from the left of the landscape, 3800 meters above the surface of the landscape, and 140,000 meters from the bottom of the landscape.
  • The request can be transmitted over the network 165 and received by the host computer 175 web server 155, and passed to the map serving software 150 for a response. As described in FIGS. 11A through 1I G, the map serving software 150 can be configured to parse the request, retrieve the specified information from the runtime database 110 (Step B of FIG. 13), and construct the response using the XYZ Protocol via HTTP to the web browser 165 (Step C of FIG. 13).
  • The set of XYZ Protocol tags and attributes used in the responses are in a reserved XML Namespace. The Namespace includes markup for packaging the whole transmission and for describing the X,Z,W,D region. The Namespace also includes markup for describing each object's URL, Title, Description, and coordinate position, among other things.
  • 1. Elements of the XYZ Protocol
  • In one embodiment, the XYZ Protocol is made up of the following XML elements:
    <?xml ?>
    <xyz> </xyz>
    <copyright> </copyright>
    <site> </site>
    <u> </u>
    <t> </t>
    <d> </d>
    <at />
    <cat> </cat>
    <ad />
  • Of course, one skilled in the art could readily construct the protocol with a different selection of tags.
  • Each of the elements listed above will now be described:
  • 2. The XML Element
    Elements Attributes Meaning
    <?xml ?> Starts and ends the XML declaration.
    version = “ ” Describes the version of XML being used,
    version must equal 1.0 as it is currently
    the only XML version.
    encoding = “ ” Allows authors to specify the character
    encoding they will be using. This only
    needs to be used by authors that are
    using other encoding besides US-ASCII
    or UTF-8.
  • 3. The XYZ Tag
    Elements Attributes Meaning
    <xyz> </xyz> Opening and closing elements which contains all the XML
    element names, attribute names and values.
    xmlns = “ ” XML Name Space. This is used for declaring namespaces and
    giving elements a unique name. xmlns is a collection of names,
    identified by a URL, which are used in XML documents as
    elements and attributes.
    path = “ ” The value of path corresponds with the map you are currently
    viewing.
    x = “ ” The numerical value of “x” corresponds with the x co-ordinates
    on the map (horizontal measurements, in meters).
    y = “ ” The numerical value of “y” corresponds with the height in
    meters you are located above the map (in meters).
    z = “ ” The numerical value of “z” corresponds with the z co-ordinates
    on the map (vertical measurements, in meters).
    w = “ ” The numerical value of “w” corresponds to the width of the
    entire viewable map area in meters.
    d = “ ” The numerical value of “d” corresponds to the height of the
    entire viewable map area in meters.
    maxPC = “ ” The numerical value of “maxPC” or maximum Page Count
    corresponds to the highest number of pages on one site.
    maxOL = “ ” The numerical value of “maxOL” or maximum Out Links
    corresponds to the highest number of links pointing away from a
    particular site.
    maxIL = “ ” The numerical alue of “maxIL” or maximum In Links
    corresponds to the highest number of links pointing to a site.
    maxG = “ ” The numerical value of “maxG” or maximum graphics
    corresponds to the graphics intensity of a site. It is currently not
    in use.
    maxR = “ ” The numerical value of “maxR” or maximum ratings is either 0
    or 100, therefore the maximum value will be 100.
  • 4. The Copyright Tag
    Elements Attributes Meaning
    <copyright> The copyright Statement.
    </copyright>
  • 5. The Site Tag
    Elements Attributes Meaning
    <site> </site> Opening and closing statements
    corresponding to the description
    of a site located on the map.
    pc = “ ” Page Count he number of pages
    ol = “ ” contained within the website. Out
    Links. The number of links pointing
    away from a particular site.
    il = “ ” In Links. The number of links pointing to
    the site.
    g = “ ” Graphics Intensity. The graphics complexity
    of the site. This attribute is currently not
    being used.
    r = “ ” Ratings. This value with be either 0
    or 100. A value of 100 deems the site a “cool
    site” and marks it with a star.
  • 6. The U Tag for URLs
    Elements Attributes Meaning
    <u> </u> Opening and closing elements for the
    URL of a particular website.
  • 7. The T tag for Titles
    Elements Attributes Meaning
    <t> </t> Opening and closing elements for the title of a
    particular website.
  • 8. The D tag for Descriptions
    Elements Attributes Meaning
    <d> </d> Opening and closing elements for the description
    of the contents for a particular website.
  • 9. The AT Tag for Locations
    Elements Attributes Meaning
    <at /> The tag corresponding to the location of a
    particular site on the map.
    x = “ ” The numerical value of “x” corresponds to the
    number of meters from the left side of the map
    in which the site is located.
    z = “ ” The numerical value of “z” corresponds to the
    number of meters from the top of the map in
    which the site is located.
    cat = ‘ ’ The numerical value for “cat” corresponds to
    the category in which the site is located.
  • 10. The CAT Tag for Categories
    Elements Attributes Meaning
    <cat> Opening and closing elements corresponding to
    </cat> the title or subject assigned to each colored
    square on the map.
    id = “ ” The category ID number.
    x = “ ” The numerical value of “x” corresponds to
    the number of meters from the left side of
    the map in which the square is situated.
    z = “ ” The numerical value of “z” corresponds to the
    number of meters down from the top
    of the map in which the square is situated.
    w = “ ” The numerical value of “w” corresponds to the
    width of the square in meters on the map.
    d = “ ” The numerical value of “d” corresponds to the
    height of the square in meters on the map.
    depth = “ ” numerical value of “depth” corresponds to
    the depth of the category in the hierarchy.
    A top level category has depth = 0.
  • 11. The AD Tag for Advertisements
    Elements Attributes Meaning
    <ad> </ad> The tag corresponding to the location of an
    advertisement on the map.
    cat = “ ” The numerical value of “cat” determines which
    category the ad will be placed within on
    the map.
    x = “ ” The “x” co-ordinate of the advertisement
    on the map.
    z = “ ” The “z” co-ordinate of the advertisement
    on the map.
    ad = “ ” The id of the ad to display.
  • 12. Document Structure of the Tags
  • As with HTML, there is a hierarchical structure to the markup used in the XYZ Protocol. The following table shows the relationship of the tags:
    Element Follows Contains Contained In
    <?xml ?>
    <xyz> </xyz> <?xml /> <copyright>
    </copyright>
    <site> </site>
    <at />
    <cat> </cat>
    <ad />
    <copyright> <xyz> </xyz> <xyz> </xyz>
    </copyright>
    <site> </site> <copyright> <u> </u> <xyz> </xyz>
    </copyright>
    <t> </t>
    <d> </d>
    <u> </u> <site> <site> </site>
    <t> </t> <u> </u> <site> </site>
    <d> </d> <t> </t> <site> </site>
    <at /> <site> </site> <xyz> </xyz>
    <cat> </cat> <at /> <xyz> </xyz>
    <ad /> <cat> </cat> <u> </u> <xyz> </xyz>
  • 13. A Sample Response
  • As explained above, once all of the objects and associated metadata are retrieved from the runtime database 110 for a request from a client 180, the map serving software 150 constructs the response with the above described XYZ Protocol and the response is sent through the network 160 to the client 180 via HTTP (Step C of FIG. 13).
  • For example, the response might be:
    <?xml version = “1.0” encoding = “UTF-8” ?>
    <xyz xmlns = “http://map.net/xyzSapce” x= “2901100” y= “0” z= “355000” w= “100” d= “100”
    maxPC= “46795” maxOL= “23035” maxIL= “10725” maxG= “82” maxR= “100”>
    <copyright>Copyright 2000 Antarcti.ca Systems Inc. </copyright>
    <site pc= “2” ol= “3” il= “0” g= “0” r= “0”>
        <u>http://www.io.com/˜desantom/rad.html</u>
        <t>REXX Adventure Page, The</t>
        <d>A text adventure engine for OS/2 Presentation Manager.</d>
        <at x= “2901105” z= “355005” lat= “17.32.25” long= “3.42.34” cat= “34985” />
    </site>
    <site pc= “2” ol= “1” il= “1” g= “0” r= “0”>
        <u>http://www.accessone.com/˜conroy/ab.html</u>
        <t>Adventure Builder</t>
        <d>Shareware text adventure game system for Windows.</d>
        <at x= “2901165” z= “355035” lat= “17.32.24” long= “3.42.41” cat= “34985” />
    </site>
    <cat id= “34985” x= “2901100” z= “355000” w= “1300” d= “800”
    >Games/Video_Games/Genres/Interactive_Fiction/Authoring_Systems </cat>
    </xyz>
  • Such a response indicates that the subcategory to be visualized is the “Authoring Systems” subcategory. The subcategory is positioned according to the x,z,w,d coordinates of (2901100, 355000, 1300, 800). (In one embodiment, category is rendered by the client as a rectangle plot of virtual land.) Within this category, two web sites are to be displayed: (1) The REXX Adventure Page at coordinates (2901105, 355005), and (2) The Adventure Builder at coordinates (2901165, 355035). The 3D Browser Plug-In 170 parses the XYZ response and renders the objects in a 3D map (Step D of FIG. 13).
  • VI. Example Visualizations
  • FIG. 6B shows a 3D visualization of a portion of the information space that was rendered by a client in accordance with an XYZ Protocol response. Here, the visualization of objects 605 is shown as a house 605.1, a factory 605.2, or skyscraper 605.3, depending on the object's visibility rating. From the label “/start/arts/movies”, the user can determine that she or he is viewing the “ARTS” top-level category. Visualization of subcategories 610 are the blocks of ‘land’ underneath the various objects. For example, the MOVIES subcategory is the land area at the foreground of FIG. 6B. Visualization of metadata 615 includes in FIG. 6B the object's title hovering over the object's visualized building.
  • VII. CONCLUSION
  • From the foregoing detailed description, it will be evident that there are a number of changes, adaptations and modifications of the present invention which come within the province of those skilled in the art. However, it is intended that all such variations not departing from the spirit of the invention be considered as within the scope thereof.

Claims (27)

1. A method for describing a plurality of objects in a map of a virtual space, the method comprising:
expressing an world position for each of the plurality of objects, where the object position defines the location of the object within the virtual space;
listing object metadata for each of the plurality of objects, where the object metadata characterizes detail information about each of the plurality of objects.
2. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of expressing a world position comprises expressing an x-coordinate and a z-coordinate of the object on the map.
3. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of listing object metadata comprises listing how much graphical material each of the plurality of objects contains.
4. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of listing object metadata comprises listing a title for each of the plurality of objects.
5. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of listing object metadata comprises listing a description for each of the plurality of objects.
6. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of listing object metadata comprises listing a page count of the number of pages contained within each of the plurality of objects.
7. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of listing object metadata comprises listing a out-links count of the number of links pointing away from each of the plurality of objects.
8. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of listing object metadata comprises listing a in-links count of the number of links pointing to each of the plurality of objects.
9. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of listing object metadata comprises listing a rating for each of the plurality of objects.
10. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of listing object metadata comprises listing a logo for a company associated to each of the plurality of objects.
11. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of listing object metadata comprises listing contact information for a company associated to each of the plurality of objects.
12. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of listing object metadata comprises listing an industry SIC code for a company associated to each of the plurality of objects.
13. The method for describing a plurality of objects in a map of a virtual space from claim 1, wherein the step of listing object metadata comprises listing a trading symbol for a company associated to each of the plurality of objects.
14. The method for describing a plurality of objects in a map of a virtual space from claim 1, further comprising:
designating at least one category for the map, where the step of designating comprises:
listing category metadata for each of the categories, where the category metadata discloses detail information about each of the categories; and
defining a category bounds on the map for each of the categories.
15. The method for describing a plurality of objects in a map of a virtual space from claim 14, wherein the step of defining a category bounds comprises defining an x-coordinate, a z-coordinate, a width-coordinate, and a height-coordinate for the category.
16. The method for describing a plurality of objects in a map of a virtual space from claim 14, wherein the step of listing a category metadata comprises listing a category identifier.
17. The method for describing a plurality of objects in a map of a virtual space from claim 14, wherein the step of listing a category metadata comprises listing a depth identifier for describing a hierarchical depth of the category.
18. The method for describing a plurality of objects in a map of a virtual space from claim 1, further comprising:
defining a map bounds, for describing what portion of the virtual space is shown by the map; and
listing map metadata, for describing detail characteristics of the map.
19. The method for describing a plurality of objects in a map of a virtual space from claim 18, wherein the step of expressing a map bounds comprises defining an x-coordinate, a z-coordinate, a width-coordinate, and a height-coordinate for the map.
20. The method for describing a plurality of objects in a map of a virtual space from claim 18, wherein the step of listing a category metadata comprises listing a maximum page count corresponding to the highest number of pages for any of the objects.
21. The method for describing a plurality of objects in a map of a virtual space from claim 18, wherein the step of listing a category metadata comprises listing a maximum out-links corresponding to the highest number of links pointing away from any of the objects.
22. The method for describing a plurality of objects in a map of a virtual space from claim 18, wherein the step of listing a category metadata comprises listing a maximum in-links corresponding to the highest number of links pointing to any of the objects.
23. The method for describing a plurality of objects in a map of a virtual space from claim 18, wherein the step of listing a category metadata comprises listing a maximum rating for any of the objects.
24. The method for describing a plurality of objects in a map of a virtual space from claim 18, wherein the step of listing a category metadata comprises listing a metadata range, where the metadata range is the minimum value of the metadata or the maximum value of the metadata for any of the objects.
25. The method for describing a plurality of objects in a map of a virtual space from any one of the previous claims, wherein the plurality of objects are URLs.
26. The method for describing a plurality of objects in a map of a virtual space from any one of the previous claims, wherein XML protocol is used to describe the plurality of objects in the map of the virtual space.
27. The method for describing a plurality of objects in a map of a virtual space from claim 26, wherein XML namespaces are used to enable extension of XML protocol.
US11/105,789 2000-09-13 2005-04-14 Method for describing objects in a virtual space Abandoned US20050216515A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/105,789 US20050216515A1 (en) 2000-09-13 2005-04-14 Method for describing objects in a virtual space

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US23221300P 2000-09-13 2000-09-13
US23228400P 2000-09-13 2000-09-13
US09/712,544 US6950791B1 (en) 2000-09-13 2000-11-14 Method for describing objects in a virtual space
US11/105,789 US20050216515A1 (en) 2000-09-13 2005-04-14 Method for describing objects in a virtual space

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/712,544 Continuation US6950791B1 (en) 2000-09-13 2000-11-14 Method for describing objects in a virtual space

Publications (1)

Publication Number Publication Date
US20050216515A1 true US20050216515A1 (en) 2005-09-29

Family

ID=34992742

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/712,544 Expired - Fee Related US6950791B1 (en) 2000-09-13 2000-11-14 Method for describing objects in a virtual space
US11/105,789 Abandoned US20050216515A1 (en) 2000-09-13 2005-04-14 Method for describing objects in a virtual space

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/712,544 Expired - Fee Related US6950791B1 (en) 2000-09-13 2000-11-14 Method for describing objects in a virtual space

Country Status (1)

Country Link
US (2) US6950791B1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040125143A1 (en) * 2002-07-22 2004-07-01 Kenneth Deaton Display system and method for displaying a multi-dimensional file visualizer and chooser
US20070238520A1 (en) * 2006-02-10 2007-10-11 Microsoft Corporation Semantic annotations for virtual objects
US20090089714A1 (en) * 2007-09-28 2009-04-02 Yahoo! Inc. Three-dimensional website visualization
US20100031229A1 (en) * 2008-07-30 2010-02-04 Donna N Eng Dillenberger Visualization of complex systems using buildings
KR20120023193A (en) * 2010-07-21 2012-03-13 삼성전자주식회사 Apparatus and method for transmitting data
US20140351284A1 (en) * 2012-09-12 2014-11-27 Artashes Valeryevich Ikonomov System for performing a personalized information search
US9164653B2 (en) 2013-03-15 2015-10-20 Inspace Technologies Limited Three-dimensional space for navigating objects connected in hierarchy
US10169482B2 (en) * 2011-04-19 2019-01-01 International Business Machines Corporation Spatially-oriented traversal animations for network address transitions
US10416836B2 (en) * 2016-07-11 2019-09-17 The Boeing Company Viewpoint navigation control for three-dimensional visualization using two-dimensional layouts
US10585976B2 (en) * 2015-04-24 2020-03-10 Korea Institute Of Science And Technology Device and method for representing HTML elements having 3-dimensional information on web

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1413964A3 (en) * 2002-10-23 2006-08-02 Siemens Aktiengesellschaft Method and apparatus for automatic mapping of data elements while modeling a technical system
US7681114B2 (en) * 2003-11-21 2010-03-16 Bridgeborn, Llc Method of authoring, deploying and using interactive, data-driven two or more dimensional content
US7693825B2 (en) 2004-03-31 2010-04-06 Google Inc. Systems and methods for ranking implicit search results
US7707142B1 (en) 2004-03-31 2010-04-27 Google Inc. Methods and systems for performing an offline search
US7664734B2 (en) * 2004-03-31 2010-02-16 Google Inc. Systems and methods for generating multiple implicit search queries
US8631001B2 (en) 2004-03-31 2014-01-14 Google Inc. Systems and methods for weighting a search query result
US8041713B2 (en) 2004-03-31 2011-10-18 Google Inc. Systems and methods for analyzing boilerplate
US7272601B1 (en) 2004-03-31 2007-09-18 Google Inc. Systems and methods for associating a keyword with a user interface area
US9009153B2 (en) 2004-03-31 2015-04-14 Google Inc. Systems and methods for identifying a named entity
US20080040315A1 (en) * 2004-03-31 2008-02-14 Auerbach David B Systems and methods for generating a user interface
US7788274B1 (en) * 2004-06-30 2010-08-31 Google Inc. Systems and methods for category-based search
US8131754B1 (en) 2004-06-30 2012-03-06 Google Inc. Systems and methods for determining an article association measure
US8874489B2 (en) 2006-03-17 2014-10-28 Fatdoor, Inc. Short-term residential spaces in a geo-spatial environment
US9459622B2 (en) 2007-01-12 2016-10-04 Legalforce, Inc. Driverless vehicle commerce network and community
US20070218900A1 (en) 2006-03-17 2007-09-20 Raj Vasant Abhyanker Map based neighborhood search and community contribution
US9037516B2 (en) 2006-03-17 2015-05-19 Fatdoor, Inc. Direct mailing in a geo-spatial environment
US9064288B2 (en) 2006-03-17 2015-06-23 Fatdoor, Inc. Government structures and neighborhood leads in a geo-spatial environment
US9002754B2 (en) 2006-03-17 2015-04-07 Fatdoor, Inc. Campaign in a geo-spatial environment
US9070101B2 (en) 2007-01-12 2015-06-30 Fatdoor, Inc. Peer-to-peer neighborhood delivery multi-copter and method
US9098545B2 (en) 2007-07-10 2015-08-04 Raj Abhyanker Hot news neighborhood banter in a geo-spatial social network
US8732091B1 (en) 2006-03-17 2014-05-20 Raj Abhyanker Security in a geo-spatial environment
US9071367B2 (en) 2006-03-17 2015-06-30 Fatdoor, Inc. Emergency including crime broadcast in a neighborhood social network
US8738545B2 (en) 2006-11-22 2014-05-27 Raj Abhyanker Map based neighborhood search and community contribution
US9373149B2 (en) 2006-03-17 2016-06-21 Fatdoor, Inc. Autonomous neighborhood vehicle commerce network and community
US8965409B2 (en) 2006-03-17 2015-02-24 Fatdoor, Inc. User-generated community publication in an online neighborhood social network
US8863245B1 (en) 2006-10-19 2014-10-14 Fatdoor, Inc. Nextdoor neighborhood social network method, apparatus, and system
US20080221984A1 (en) * 2007-03-08 2008-09-11 Fatdoor, Inc. User-managed coupons in a geo-spatial environment
WO2009046331A1 (en) * 2007-10-05 2009-04-09 Autodesk, Inc. Sun-shadow simulation in a geospatial system
US8645846B2 (en) * 2008-02-20 2014-02-04 International Business Machines Corporation Accessibility in virtual worlds using tags
US20090271436A1 (en) * 2008-04-23 2009-10-29 Josef Reisinger Techniques for Providing a Virtual-World Object Based on a Real-World Object Description
US9740753B2 (en) 2008-12-18 2017-08-22 International Business Machines Corporation Using spheres-of-influence to characterize network relationships
US9256347B2 (en) 2009-09-29 2016-02-09 International Business Machines Corporation Routing a teleportation request based on compatibility with user contexts
US9254438B2 (en) * 2009-09-29 2016-02-09 International Business Machines Corporation Apparatus and method to transition between a media presentation and a virtual environment
US20130063429A1 (en) * 2011-09-08 2013-03-14 Parham Sina System and method for distributing three-dimensional virtual world data
KR20140133362A (en) * 2013-05-10 2014-11-19 삼성전자주식회사 display apparatus and user interface screen providing method thereof
US9439367B2 (en) 2014-02-07 2016-09-13 Arthi Abhyanker Network enabled gardening with a remotely controllable positioning extension
US9457901B2 (en) 2014-04-22 2016-10-04 Fatdoor, Inc. Quadcopter with a printable payload extension system and method
US9004396B1 (en) 2014-04-24 2015-04-14 Fatdoor, Inc. Skyteboard quadcopter and method
US9022324B1 (en) 2014-05-05 2015-05-05 Fatdoor, Inc. Coordination of aerial vehicles through a central server
US9971985B2 (en) 2014-06-20 2018-05-15 Raj Abhyanker Train based community
US9441981B2 (en) 2014-06-20 2016-09-13 Fatdoor, Inc. Variable bus stops across a bus route in a regional transportation network
US9451020B2 (en) 2014-07-18 2016-09-20 Legalforce, Inc. Distributed communication of independent autonomous vehicles to provide redundancy and performance
US10091015B2 (en) * 2014-12-16 2018-10-02 Microsoft Technology Licensing, Llc 3D mapping of internet of things devices
US10021220B2 (en) * 2015-11-02 2018-07-10 Adobe Systems Incorporated Object amalgamation based on categorization and protocol granularization
US11009886B2 (en) 2017-05-12 2021-05-18 Autonomy Squared Llc Robot pickup method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371514A (en) * 1991-05-16 1994-12-06 International Business Machines Corporation Method and apparatus for determining the drawing primitives that are visible in a pick aperture of a graphics system
US5923330A (en) * 1996-08-12 1999-07-13 Ncr Corporation System and method for navigation and interaction in structured information spaces
US5982388A (en) * 1994-09-01 1999-11-09 Nec Corporation Image presentation device with user-inputted attribute changing procedures
US6035330A (en) * 1996-03-29 2000-03-07 British Telecommunications World wide web navigational mapping system and method
US6055563A (en) * 1997-02-03 2000-04-25 Fujitsu Limited Transfer and display of virtual-world data
US6070176A (en) * 1997-01-30 2000-05-30 Intel Corporation Method and apparatus for graphically representing portions of the world wide web
US6446113B1 (en) * 1999-07-19 2002-09-03 Groove Networks, Inc. Method and apparatus for activity-based collaboration by a computer system equipped with a dynamics manager

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555354A (en) 1993-03-23 1996-09-10 Silicon Graphics Inc. Method and apparatus for navigation within three-dimensional information landscape
US6081273A (en) * 1996-01-31 2000-06-27 Michigan State University Method and system for building three-dimensional object models
US6532021B1 (en) * 1996-04-30 2003-03-11 Sun Microsystems, Inc. Opaque screen visualizer
US5889951A (en) 1996-05-13 1999-03-30 Viewpoint Corporation Systems, methods, and computer program products for accessing, leasing, relocating, constructing and modifying internet sites within a multi-dimensional virtual reality environment
US5987469A (en) 1996-05-14 1999-11-16 Micro Logic Corp. Method and apparatus for graphically representing information stored in electronic media
US5808613A (en) 1996-05-28 1998-09-15 Silicon Graphics, Inc. Network navigator with enhanced navigational abilities
US5935210A (en) 1996-11-27 1999-08-10 Microsoft Corporation Mapping the structure of a collection of computer resources
US6692357B2 (en) * 1998-11-19 2004-02-17 Nintendo Co., Ltd. Video game apparatus and method with enhanced player object action control
US6629097B1 (en) * 1999-04-28 2003-09-30 Douglas K. Keith Displaying implicit associations among items in loosely-structured data sets
US6624826B1 (en) * 1999-09-28 2003-09-23 Ricoh Co., Ltd. Method and apparatus for generating visual representations for audio documents

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371514A (en) * 1991-05-16 1994-12-06 International Business Machines Corporation Method and apparatus for determining the drawing primitives that are visible in a pick aperture of a graphics system
US5982388A (en) * 1994-09-01 1999-11-09 Nec Corporation Image presentation device with user-inputted attribute changing procedures
US6035330A (en) * 1996-03-29 2000-03-07 British Telecommunications World wide web navigational mapping system and method
US5923330A (en) * 1996-08-12 1999-07-13 Ncr Corporation System and method for navigation and interaction in structured information spaces
US6070176A (en) * 1997-01-30 2000-05-30 Intel Corporation Method and apparatus for graphically representing portions of the world wide web
US6055563A (en) * 1997-02-03 2000-04-25 Fujitsu Limited Transfer and display of virtual-world data
US6446113B1 (en) * 1999-07-19 2002-09-03 Groove Networks, Inc. Method and apparatus for activity-based collaboration by a computer system equipped with a dynamics manager

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040125143A1 (en) * 2002-07-22 2004-07-01 Kenneth Deaton Display system and method for displaying a multi-dimensional file visualizer and chooser
US20070238520A1 (en) * 2006-02-10 2007-10-11 Microsoft Corporation Semantic annotations for virtual objects
US7836437B2 (en) * 2006-02-10 2010-11-16 Microsoft Corporation Semantic annotations for virtual objects
US8402394B2 (en) * 2007-09-28 2013-03-19 Yahoo! Inc. Three-dimensional website visualization
US20090089714A1 (en) * 2007-09-28 2009-04-02 Yahoo! Inc. Three-dimensional website visualization
US20100031229A1 (en) * 2008-07-30 2010-02-04 Donna N Eng Dillenberger Visualization of complex systems using buildings
US8813023B2 (en) 2008-07-30 2014-08-19 International Business Machines Corporation Visualization of complex systems using buildings
CN103109282A (en) * 2010-07-21 2013-05-15 三星电子株式会社 Apparatus and method for transmitting data
WO2012011755A3 (en) * 2010-07-21 2012-05-03 삼성전자주식회사 Apparatus and method for transmitting data
KR20120023193A (en) * 2010-07-21 2012-03-13 삼성전자주식회사 Apparatus and method for transmitting data
KR101654571B1 (en) 2010-07-21 2016-09-06 삼성전자주식회사 Apparatus and Method for Transmitting Data
US9753940B2 (en) 2010-07-21 2017-09-05 Samsung Electronics Co., Ltd. Apparatus and method for transmitting data
US10169482B2 (en) * 2011-04-19 2019-01-01 International Business Machines Corporation Spatially-oriented traversal animations for network address transitions
US20140351284A1 (en) * 2012-09-12 2014-11-27 Artashes Valeryevich Ikonomov System for performing a personalized information search
US9164653B2 (en) 2013-03-15 2015-10-20 Inspace Technologies Limited Three-dimensional space for navigating objects connected in hierarchy
US10585976B2 (en) * 2015-04-24 2020-03-10 Korea Institute Of Science And Technology Device and method for representing HTML elements having 3-dimensional information on web
US10416836B2 (en) * 2016-07-11 2019-09-17 The Boeing Company Viewpoint navigation control for three-dimensional visualization using two-dimensional layouts

Also Published As

Publication number Publication date
US6950791B1 (en) 2005-09-27

Similar Documents

Publication Publication Date Title
US6950791B1 (en) Method for describing objects in a virtual space
US6785667B2 (en) Method and apparatus for extracting data objects and locating them in virtual space
US7181502B2 (en) System and method for locating on electronic documents items referenced in a physical document
US6271840B1 (en) Graphical search engine visual index
US7380204B2 (en) Infrastructure for generating web content
US6370537B1 (en) System and method for the manipulation and display of structured data
US20020075311A1 (en) Method for viewing information in virtual space
CN107463366B (en) Interface dynamic method based on mobile App
US20030197737A1 (en) 2D/3D web browsing system
US20120173520A1 (en) System and method for providing contextual actions on a search results page
EP1950670A1 (en) Document data display process method, document data display process system and software program for document data display process
CN1243287A (en) Web page adaption system relative to size of display screen and window
WO2008028137A2 (en) System and method of overlaying and integrating data with geographic mapping applications
US20010043210A1 (en) System and method for the construction of data
KR20070091351A (en) Method of presenting a topology, using a visual object
US20020080177A1 (en) Method and apparatus for converting data objects to a custom format for viewing information in virtual space
JP4030674B2 (en) Geographic information system and recording medium
JP2002208036A (en) System for providing contents and method for the same
Hardie The development and present state of web-GIS
KR100434851B1 (en) A method and system for displaying electronic document using virtual polygon
JPH11149483A (en) Information distribution system
CA2613879A1 (en) Multidimensional tabbing for electronic devices
Lau Building a hypermedia information system on the Internet
JP2004506251A (en) Personalized meta-browser
Meng Towards individualization of mapmaking and mobility of map use

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION