METHOD AND APPARATUS FOR PRODUCING DIVIDED OBJECT
WINDOW ON INTERNET COMMUNICATIONS-BASED TERMINAL
AND METHOD AND SERVER-CLIENT SYSTEM FOR PROVIDING
ADDITIONAL SERVICE USING THE SAME
Technical Field
The present invention relates to a method and apparatus for producing a divided object window on an Internet communications-based computer or terminal, and a method and server-client system for providing additional services using the same, and particularly, to a method and apparatus for'producing a divided object window on an
*
Internet communications-based computer or terminal, and a method and server-client system for providing additional services such as advertisement, email, chatting, instant messenger, current news, game, and electronic business, using a corresponding divided object window. Furthermore, the present invention relates to a method and system for transmitting a 2-D or 3-D divided object window to an Internet communications-based computer or terminal from a server according to the request of the computer or terminal, to provide additional services to each surface of the divided object window.
Background Art
Object windows according to a conventional technology are simply output and displayed on a limited screen of a computer monitor as windows used for company promotion and advertisement only. Accordingly, users of the Internet are interrupted and inconvenienced as an advertisement abruptly appears regardless of one's intention. Also, since the conventional object windows are not related to user's active regions, the effect of promotion and advertisement cannot be expected due to indifference of the user.
Also, as shown in a conventional banner advertisement, since the
conventional banner object window is an one-sided and fixed type set by a provider, the user has nothing but to be content with information and services provided by the provider.
Also, since the conventional object window such as a banner is simply formed in 2-D and needs assignment of a space, the number and space of object windows presented within one web page is limited. Also, since the conventional object window is simply formed in 2-D, when the object window is displayed on a screen of a user computer, display of the object window is limited by the size of a screen of a user computer. Accordingly, even if the user minimizes the object window, the number of object windows to be displayed on the screen of a user computer is limited. As a result, the information transmitted by providers and the information simultaneously received by users are limited. In other words, a computer user performs various jobs on-line or off-line with many working windows displayed on a screen. For example, when the number of working windows increases, even if the working windows are minimized and placed on a task bar, it is not easy to move to a desired working window. Furthermore. When numerous object windows are displayed on a screen, even if some of the object windows are minimized, it is difficult to make all the object windows displayed on a single screen.
Also, although there are various kinds of services provided from conventional portal sites, additional space, that is, other pages, must be used to display more service menus on a screen. Due to this spatial restriction, a portal site provider is not able to load all desired information on the same screen. As a result, a user must inconveniently move to another page screen to obtain desired information. That is, information that a user can obtain from the same screen space is limited.
Disclosure of the Invention
To solve the above problem, it is an object of the present invention to provide a method and apparatus for producing a divided object window in 3-D or 2-D based on a dedicated or non-dedicated web browser. It is another object of the present invention to provide a method and apparatus for producing a divided object window so that a divided surface of the divided object window in 3-D or 2-D based on a web browser or an application dedicated to an object window can be used for a user only. It is yet another object of the present invention to provide a method and server-client system for providing at least one additional service such as advertisement, email, chatting, instant messenger, current news, game, or electronic business bi-directionally using a corresponding divided object window of the present invention. To achieve the above object, there is provided a method for producing a divided object window on an Internet communications-based medium by calling object window screen representation data stored in a database through communications between a web server and a web browser, the method comprising dividing the object window into a plurality of object areas in 2-D or 3-D and storing the divided object areas in a function format, or storing previously created divided object windows as a library, assigning information on a position of a divided object area in the object window to data to be represented on the object window, and storing the information in the database, and when the web browser requests object window screen data from the web server, calling the stored object window data and the representation data with the assigned position information and locating the representation data in the divided object area so that an object window is produced in a web browser space. It is preferred in the present invention that the method further
comprises uploading user information such as advertisement a user needs by making the user use part of a divided surface of the object areas in the divided object window as a user dedicated surface.
It is preferred in the present invention that the method further comprises assigning rotational movement information to the object window data.
It is preferred in the present invention that the method further comprises assigning animation or motion picture information to the representation data. To achieve the above object, there is provided an apparatus for producing a divided object window on an Internet communications-based medium by calling object window screen representation data stored in a database through communications between a web server and a web browser, the apparatus comprising a web server including a storing portion in which the object window divided into a plurality of object areas in 2-D or 3-D is stored in a function format, or previously created divided object windows is stored as a library, and a database in which information on a position of a divided object area of the object window assigned to data to be represented on the object window is stored, wherein, when the web browser requests object window screen data from the web server, the stored object window data and the representation data with the assigned position information are called and the representation data are located in the divided object area so that an object window is produced in a web browser space. To achieve the above object, there is provided a method for providing at least one additional service among advertisement, email, chatting, instant messenger, current news, game, and electronic business in bi-direction between a web browser and a web server by using the above-described object window. To achieve the above object, there is provided a server-client
system for providing at least one additional service among advertisement, email, chatting, instant messenger, current news, game, and electronic business in bi-direction between a web browser and a web server by using the above-described object window.
Brief Description of the Drawings
FIG. 1 is a view showing the structure of a system to which a method and apparatus for producing a divided object window on an
Internet communications based terminal, and a method and server-client system for providing additional services using the same, according to the present invention, are applied;
FIG. 2 is a view showing the configuration of a method and apparatus for producing a divided object window according to a preferred embodiment of the present invention; FIG. 3 is a view for explaining a step of a user inputting a file on an object window of the present invention;
FIG. 4 is a view for explaining a method and apparatus of producing a divided object window according to another preferred embodiment of the present invention; FIG. 5 is a view showing an example of the divided object window according to the present invention;
FIG. 6 is a flow chart for explaining a step of performing additional services such as advertisement using a divided object window according to the present invention; and FIG. 7 is a view for explaining a electronic business method using a divided object window of the present invention. description of reference numerals of major portions of the drawings>
1....web server, 3... database server, 5... communications server, 6...firewall, 7... router, 8... DSU, 10... Internet, 12, 14, 16... user PCs,
20... web browser, 21... servlet API, 21 '...JSERV Adaptor, 22...applet, 23, 25... Java server page, 24...client socket, 26...web server, 28...server socket, 29...JDBC, 31 , 33, 34, 35... databases, 50... communications server, 51...file input stream, 52...client socket, 53...sever thread server socket, 54...file output stream, 56... data insertion portion through JSP, 500... object window, 510, 520, 530...screen control keys, 540... search window, 550... user input, 560...3-D advertisement window, 561... sponsor's advertisement, 562... individual advertisement, 570... shortcut window.
Best mode for carrying out the Invention
Hereinafter, a preferred embodiment of the present invention will be described with reference to the attached drawings. Here, for the convenience of explanation, structural elements performing the same functions are indicated by the same or similar reference numerals.
As shown in FIG. 1 , a technology of producing a divided object window of the present invention is operated under a server-client environment in which typical Internet communications is possible. Referring to FIG. 1 , users 12, 14, and 16 accesses a web server 1 through an Internet communications network 10 by executing a web browser to download a divided object window according to a present invention. A database server (DB server) 3 for putting data of object windows into a database and providing the databased data, and a communications server 5 for providing various additional services are connected in parallel at the side of the web server 1. Each server can be accessed only through a firewall 6 for maintenance of security. Data transmission and receiving is possible between the servers and users through a router 7 and a data service unit 8.
In other words, the technical structure for producing a divided
object window according to the present invention, as shown in FIG. 1 , is formed of an organic association of the web server 1 which is a main system, the communications server 5 for realizing TCP/IP communications (when a dedicated browser or application program is adopted) or HTTP communications (when a general web browser is used) (email, instant messenger, etc.) through a network between the web server (host server) 1 which is a main system and the personal computers (client PCs) 12, 14, and 16, and the database server 3 for processing advertisement and other information. A method and apparatus for producing a divided object window according to the present invention will be described with reference to FIG. 2.
Referring to FIG. 2, object window data stored in a storing portion such as memory or hard disk (not shown) and object window screen representation data (texture data) stored in the databases 31-35 in an object window function format or a library format are called to produce an object window on a medium capable of Internet communications, through a communications operation between the web server 26 and the web browser 20. The object window is stored by being divided into a plurality of
2-D or 3-D object areas in a function format, or previously divided object window data is stored in a library format or a file format. Here, the texture (image) data to be displayed on an divided object area (each surface) of the object window is stored in the databases 31 and 33. Thus, when the web browser 20 requests object window screen data (texture data), a CGI program 23 of the server requests the databases 31 and 33 through a JDBC driver 29 to transmit object window screen data and loads each pixel data (texel) of texture on a memory to produce an object window on a screen of the web browser 20 by mapping the loaded texel to each position of an object converted into a movement.
Although a plurality of databases are shown in FIG. 2, a single data can be provided. In addition to the user database 31 , the advertisement database 33, and the other information database 35, a database containing information about user authentication and subscriber information can further be provided.
As shown in FIG. 2, after executing the web browser 20, a user accesses the web server 26 and requests object window data. In this case, although not shown in FIG. 2, a user authentication process is preferably performed between the web server 26 and the web browser 20. The web browser may be any of Internet Explorer, Netscape Navigator or a dedicated web browser which uses a graphic tool (OpenGL), an ASP (active server page), or Applet/Servlet (Jsp). The graphic tool (Open GL) is a graphic library in the C++ format and is generated in a component type for ASP to be capable of being operated on a web page. Also, in the present invention, the divided object area can be stored and read out in a library format, or can be realized through an applet without a plug-in by using pure Java (version 1.x). Also, the representation data can be provided with animation information. Here, the representation of a moving object window is possible through a 3-D graphic library such as Jview 3D and IDX3DIII on a basis of the applet of Java. The registration, correction, and deletion of additional services including user's advertisement on the database can be performed using a CGI based program such as JSP(Servlet)/PHP and dynamic web page configuration tool. However, when a moving object window is to be realized, it is not compulsory to use a Java tool while any graphic tool enabling a motion pϊcture can be used. Since this is obvious for those skilled in the art, a detailed description thereof will be omitted.
In FIG. 2, a case of using a Java applet to realize a divided object window is shown. Hereinafter, the operation of producing a Java applet divided object window is described.
A Java applet downloaded from the web server 26 to the web browser 20 is a Java application program which is executed only in an applet viewer or web browser.
When a user uploads an animation file or a file is uploaded using an image creation tool provided by a divided object window, a corresponding animation is loaded by a frame and images are repeatedly reproduced frame by frame during a predetermined time through a timer of the object, so that the animation can be realized. When the web browser 20 requests an applet screen, the web server 26 transmits applet data. The applet screen data downloaded in the web browser 20 can be repeatedly used as a moving text, picture, 3-dimensional object by VM (virtual machine) of the web browser. As one example of an animation setting method in a divided object area of the object window, representation of animation (movement) of advertisement data, that is, an animation GIF file, is produced by a user and registered on the advertisement server to be executed. For this purpose, an animation tool is first selected. GIF construction set, Uliad GIF animator, and Namo GIF animator are typical as the animation tool. Next, a picture file is prepared by a motion frame. Next, a repetition/limitless repetition selection and repetition number selection of animation are set and the total frame number is set. Then, loading by a frame is executed and the synthesizing into a single GIF file is performed. The single GIF file is registered on the server.
A Java server page (JSP) of the web serer 26 is a tool to create a dynamic web page provided by Sun Microsystems, Inc., which is a method similar to ASP (Microsoft Corporation) including script language within a web document. The JSP 1 (23) and JSP 2 (25) are located at the web server 26 and performs a function of transmitting data dynamically changing according to the request by the web browser of client. The reason for providing two JSPs 23 and 25 in FIG. 2 is that
the first JSP 23 downloads the dynamic data stored in the databases 31 , 33, and 35 from the web server to the web browser while the second JSP 25 is used for a user to upload the dynamic data to be input to the databases 31 , 33, and 35 by means of communications with a server socket 28 through a client socket 24.
A JDBC driver 29 in the web server 26 is a kind of driver of ODBC (open database connectivity) which provides interface with a database engine such as Oracle, MY SQL, or CyBass during the execution of application such as the JSP. According to FIG. 2, when the web browser 20 requests screen data from the web server 26, the JSP 23 of the web server transmits a query to the database via the driver 29. The database transmits the result of extraction to the driver 29. The driver transmits the extraction result, as a parameter, to an applet processing portion (not shown) in the JSP 23. The applet processing portion received the parameter and produces an object window. The parameter is mapped to the object area to realize motion and object window screen representation data is produced on a screen of the web browser 20. An example of the final result is shown in FIG. 5. As shown in FIG. 5, the example of an object window 500 according to the present invention is a Java applet screen. A 3-D object window 560 having a rectangular solid shape shown in the drawing is an example of an object produced by receiving object data having a rectangular solid shape. The shape of an object can be changed according to object data (polygon data). In the applet screen, a minimize button (_) 510, a maximize button (D), and a delete button (X) 530 are located at the upper right corner thereof while a window performing a short-cut function 570 showing irons of the background screen such as a Hangul button 572, an Excel button 574, and an
Explorer button 576 is located at the lower left corner thereof. A favorite function can be added by linking frequently visited web sites. Also, a menu search window 540 for searching information in the object window by inputting name or ID is located at the upper right side of the screen. A window 550 for adding or inserting a user only advertisement, that is, "My own advertisement", is located beneath the menu search window 540. After a picture source or text source is browsed and obtained, information such as a user advertisement can be uploaded through the window 550 to the database 31 from the web browser 20 via the web server 26. This upload function makes multiple object windows of the present invention used interactively, so that one's own picture or text can be inserted in a given space of the multiple object windows. In the upload process of the "My own advertisement", upload of http in a post method through submit (transmission) button of the web browser is requested and a servlet API program is called on the request of the web browser. Next, a file stream receiving object is generated and the file stream is stored in a temporary position. Then, the completely received file is inserted and stored by the JDBC driver on the advertisement database. The user input window is technically realized in a post type servlet and API program calling method of a form. For example, the user input window is realized through the following method.
<http> <head> <title> File upload </title>
<body>
<Form Method="post" Action- 'Receive Servlet" enctype=multipart/form-data>
<input type=file name=append> <input type="Submit">
Although not shown in the drawing, the object window of the present invention is designed to have a transparency function according to the movement of a mouse, that is, a screen is activated depending on the position of a mount pointer. Thus, use of the object window of the present invention can be encouraged. Also, the object window of the present invention can provide game services such as chess, go, puzzle, picture containing hidden objects.
In FIG. 5, the 3-D object window 560 has a surface 561 containing sponsor's advertisement and a surface 562 containing the "My own advertisement" of a user. The other surfaces can be displayed by rotating a hexahedron around a rotation shaft 565. Although the rotation shaft 565 is shown in FIG. 5 to be capable of rotating to the left and right, the direction of the rotation of the rotation shaft can be variously set to the left and right, up and down, or in the diagonal direction.
The step of setting rotation movement information of the object window is described as follows.
When a cube rotates a distance dx in X axis, a distance dy in Y axis, and a distance dz in Z axis from the origin (0, 0, 0) in 3-D coordinates, the rotation of the cube can be realized below by Jview3D. cube.spRot.x = dx; cube.spRot.y = dy; and cube.spRot.z = dz.
The above case is an example of a using method represented when a general object library is used. The inside of the cube usually indicates position data and texel data to be represented by converting each position vector component due to rotational conversion of a matrix.
An example of realizing a rotation method through rotation matrix calculation is shown below.
public static float[][] rotation(char xpl , float xp2)
{ float[][] Mat = null;
//xp2 rotational angle float cos = (float) Math-cos(xp2), sin = (float) Math.sin(xp2);
switch (xpl)
{ case 'X': Mat = new float[][]
{
{1,0,0,0}, {0, cos, -sin, 0}, {0, sin, cos, 0}, {0,0,0, 1}
}; break; case Y:
Mat = new float[][]
{
{cos, 0, sin, 0}, {0, 1,0,0}, {-sin, 0, cos, 0}, {0,0,0, 1}
}; break; case 'Z' Mat = new float[][]
{
{cos, -sin, 0, 0}, {sin, cos, 0, 0}, {0, 0, 1 , 0}, {0,0,0, 1}
return Mat;
FIG.3 is a view for explaining a step of a user uploading a file in the object window of FIG.2.
FIG. 3 is a view showing a case in which a direct communication through a socket in an applet is realized by not a load method using getlmage (getCodeBase, * gif) of a Java applet, in an upload method. Referring to FIG. 3, a user loads a user file to a file input stream 51 on an applet screen of the web browser 20. As soon as a server thread inside the communications server 50 which is software of the web server 26 accesses a client socket 52, a new server thread and server socket 53 is produced. Then, the user file of the client is received and data insertion job 56 through a file output stream 54 and the JSP 25 is performed. After the above steps, the user file is uploaded to the databases 31-35 through the driver 29.
FIG. 4 is a view for explaining a method and apparatus for producing a divided object window according to another preferred embodiment of the present invention. The drawing shows a case in which an applet & servlet communication application is formed using the above-described getlmageQ which is a pure image obtainment function on a Java applet. Since an additional socket program is not needed, the entire program can be made more simple. In contrast, the image download speed according to the speed of a network is difficult to control.
Although the structure of the apparatus shown in FIG. 4 is similar to that of the apparatus shown in FIG. 2, it is different that the web server 26 has a servlet API 21 and a JSERV adapter 21 ' and uploads a file through the JSP 2 (25). This file upload method is a method using a conventional Java component and the type of a file is parsed into a multi-part/form data format. Also, in FIG. 4, the database is formed by further including a database 34 for public notice information. The Java applet of FIG. 4 is a Java class executed on a JVM (Java virtual machine) included in the
FIG. 3 is a view showing a case in which a direct communication through a socket in an applet is realized by not a load method using getlmage (getCodeBase, *.gif) of a Java applet, in an upload method. Referring to FIG. 3, a user loads a user file to a file input stream 51 on an applet screen of the web browser 20. As soon as a server thread inside the communications server 50 which is software of the web server 26 accesses a client socket 52, a new server thread and server socket 53 is produced. Then, the user file of the client is received and data insertion job 56 through a file output stream 54 and the JSP 25 is performed. After the above steps, the user file is uploaded to the databases 31-35 through the driver 29.
FIG. 4 is a view for explaining a method and apparatus for producing a divided object window according to another preferred embodiment of the present invention. The drawing shows a case in which an applet & servlet communication application is formed using the above-described getlmage() which is a pure image obtainment function on a Java applet- Since an additional socket program is not needed, the entire program can be made more simple. In contrast, the image download speed according to the speed of a network is difficult to control.
Although the structure of the apparatus shown in FIG. 4 is similar to that of the apparatus shown in FIG. 2, it is different that the web server 26 has a servlet API 21 and a JSERV adapter 21 ' and uploads a file through the JSP 2 (25). This file upload method is a method using a conventional Java component and the type of a file is parsed into a multi-part/form data format. Also, in FIG. 4, the database is formed by further including a database 34 for public notice information. The Java applet of FIG. 4 is a Java class executed on a JVM (Java virtual machine) included in the
14
client web browser and a Java servlet is a Java class executed on the web server. Also, the servlet does not produce each process on the request of the client and processes requests while continuously residing on a memory until the engine is rebooted. Thus, response time is faster than that of a CGI which needs loading of a program on a memory each time to execute.
The above-described divided object window according to the present invention is realized as a 2-D or 3-D divided object window and additional services such as various advertisements, email, or chatting are provided on a divided object area (object surface) of each object window, providing much more information to a user. These additional services will be described with reference to FIGS. 6 and 7.
FIG. 6 is a flow chart for explaining the steps of performing various additional services including advertisement by using the divided object window according to the present invention. In FIG. 6, for the advertisement service, a user drives a web browser from a PC (Step 60).
A web server performs authentication of the user (Step -62). After performing user authentication, the web browser downloads applet data from the web server. Then, a moving 3-D object window begins to operate (Step 63). Next, a user and company advertisement is mapped and displayed on the moving object surface. Next, whether information and advertisement data to be displayed for the next one period has been completely displayed is checked (Step 65). If the display has not completed yet, then Step 64 is performed. Otherwise, Step 66 is performed. In Step 66, the web browser requests a new advertisement data image from the web server. Next, the web server queries an advertisement registered in the advertisement database and transmits extracted data to the user web browser (Step 67). Then, the newly transmitted advertisement and information data on the applet is displayed on a web page (Step 68). Thus, the advertisement is
15
transmitted to an assigned object area of the user's object window.
FIG. 7 is a view showing an electronic business method using a divided object window according to the present invention. According to FIG. 7, a user A accesses a seller B of an electronic business system 100 through an object window W and requests a seller's screen from the seller B (Step 102). Next, the seller B transmits the seller's screen to a surface of a user's object window W (Step 104). The user A transmits a trade order and details through the object window W (Step 102). The seller B transmits business credit through an authentication authority C according to the details of the order of the user. Also, the seller B requests the credit state of the user, that is, a purchaser, form a financial agency D (Step 110). By doing so, the user A chooses a product through the seller's screen and authentication of a purchaser and financial credit is completed. The electronic business system 100 delivers the product to the user (Step 120). As described above, the object window of the present invention receives the transmitted sellers' screen for electronic business on a surface of the object window so that electronic business is initiated and the user can easily shop.
The divided object window is realized as a corresponding window having a 2-D or 3-D shape for communication services such as additional services email, chatting, instant messenger, or current news, in addition to the advertisement and electronic business. Related services can be simultaneously provided on each surface of the object window in various formats. Thus, each request of a user or provider can be reflected at its maximum so that various services can be selectively provided through a single object window.
In this case, the service object window of the present invention is multiple object windows which makes services such as sponsor's advertisement, individual only advertisement, email, or instant messenger appear on an object window so that a user can use a
16
function such as environment setting with respect to an arbitrary service and an individual or service provider can independently provide or receive a 1 :1 or 1 :n interactive service through each surface (object area) of the object window. The present invention integrally provides an individual advertisement or communications service, not a service format such as a conventional advertisement provided one-sidedly regardless of user's intention, not only in an advertisement format downloadable in one direction but also in a format of sharing information desired by the user or a selective and interactive uploading service for the outside advertisement.
Unlike a conventional one-sided and fixed advertisement format provided by a banner type advertisement, in the present invention, a user can edit the type of advertisement (such as a movement method to the left and right, and up and down, by 3-D/2-D, movement by various movement angles and speed condition assignment). Also, the user independently posts a necessary advertisement and receives related services in various formats (immediately or by reservation). Also, the present invention enables visual attraction of a synergy effect (doubling the efficiency of promotion) closely related between an individual or company advertisement and other services in parallel with 3-D effect, rotational movement, and animation effect.
The scope of a technology for producing a 2-D or 3-D divided object window according to the present invention is not applied to a computer only but to various kinds of fields such as a wired/wireless network connection terminal such as a mobile communications terminal, a bi-directional service of a TV with an Internal set-top box and a digital TV, and a search for reaction of customers during an inquiry. Also, application programs frequently used by a user can be easily used by assigning a short-cut function on the divided object window so that a
17
degree of using the divided object window can be increased.
The first characteristic feature of the present invention is that a function assigning method of each surface according to various shapes such as 2-D or 3-D of a divided object window. The function surface of the object window includes a public notice surface on which all regular members can post public notice information such as idea or humor, a surface for sponsor's advertisements only, a surface used by an individual as a display function only on one's monitor, a surface for exchanging messages 1 :1 or 1 :n with a particular group, providing various visual communications, and posting individual advertisement information (for example, electronic business such as purchase, fining jobs, chatting, email, a text transmission function through a portable terminal), and a surface for individual hobby and pursuing a counterpart (replacing a hobby group function). The above option can be set by the following two methods.
1) A method in which a portal main site company connect categories (for example, news, entertainment, hobby, etc.).
2) A method of independently setting environment regardless of category by clicking a maximize button at the upper right corner of a divided object window.
In these methods, registration information such as a list containing currently set environment condition and the priority order is set by clicking a right button of a mouse.
Second, it is another characteristic feature that the present invention adopts a method of assigning a function to each surface and a method of assigning a time for existence of informed of each surface of an individual/other server provider.
Third, the design of a divided object window is characteristic.
For example, the design includes a polygon such as a triangle and a square, a cylinder, a ball, an oval, a truncated shape (a rectangle, a
18
square, and an applied shape according to an angle with respect to each design), a wave, and any applied shapes including the above concept (for example, an avatar or model using animal and plant).
Fourth, the present invention provides a game assigning method of a divided object window, a lottery method among a hobby group, with a counterpart or counter group at a scheduled time, a gambling method (for example, a user stakes an earned point using the divided object window as an object of game and clicks a particular service such as auction or lottery). According to the present invention, even if a uses moves to any other portal site on a monitor, a service such as necessary advertisements can be communicated interactively between the user and others by using a divided object window always operating. In the conventional technology, the above services are provided through separately open windows, for example, a window for email, windows for web browsing, a window for instant messenger. When the divided object window of the present invention is used, since the services are incorporated, use of the services by a user is made easy and convenient. From the viewpoint of a service provider, since the effects of producing more interest to a user, improving advertisement recognition and the rate of use of advertisement and information (directly relating to the point) are maximized, distribution of information media such as advertisement requested and needed both by the user and service provider is promoted. The present invention provides a divided object window
(tentatively named "Magic Box") based on software and hardware. In software, other services such as any possible advertisements are provided through an application based on a web browser, a dedicated web browser, and a dedicated application program. In hardware, the divided object window is provided through general PCs or servers,
19
HDTVs, Internet TVs.
In the method of providing services such as advertisements according to a function assigning method of a divided object window (including a basic still shape) of the present invention, first, the shape of any moving object window is not limited in its shape such as a rectangular solid, a cube, a circle, a circular column, a cylinder, polygons, avatars, animals, or plants, including any and all objects to which the present invention can be applied.
Second, the profile of an object is formed of one surface to multiple surfaces and each surface includes a profile formed by partially cutting the original shape of the object.
Third, the function assigning method for each surface of the divided object window is a method of providing an advertisement and other services of all moving objects, and selectively assigning a function of editing the divided object window by assigning a service such as an advertisement by an empowered server user or service provider to an arbitrary surface of a divided object window having one surface or more with respect to any services provided. There is a single surface single service method, a single surface multiple services method, a multiple surfaces single service method, and a multiple surfaces multiple services method, as the method of assigning a function to a surface. In FIG. 5, an example of assigning a function to each surface is explained through a cube. The surface 561 (the first surface) is for sponsor's advertisement only. The surface 562 (the second surface) is used as a self display function on one's monitor for the user's use only. A surface (the third surface) is for the simultaneous exchange of messages with a particular group by 1 :1 or 1 :n, an image communications function, and an individual's advertisement information notice. A surface (the fourth surface) is a public information notice surface for general members. A necessary service is set to each surface and used.
20
When a server is provided by unit of a surface according to the above service providing types, according to the one surface one service method, a service is assigned in one unit on one surface of a moving divided object window divided into one or more surfaces. In the one surface multiple services method, two or more services are assigned to one surface of the moving object window divided into one or more surfaces (an inner area division method for providing two or more services on one surface). In the multiple surfaces one service method, one service is assigned to two or more surfaces of the divided object window divided into one or more surfaces. In contrast, when each service has not a predetermined surface size but occupies an arbitrary size, in the multiple surfaces multiple services (for example, multiple surfaces two services), two or more services are assigned to two or more surface of the moving object window divided into two or more surfaces. Fourth, a plurality of child moving objects exhibiting the same characteristics inherited from a parent moving object can appear. This service enables automatic generation of the plurality of child moving objects to fit to the resolution and the size of a main frame of a web browser and application program. Fifth, the outer shape of an object changes randomly/sequentially according to a setting by a user to process advertisement, various additional services and communications.
Sixth, an additional automatic voice service of messaging and advertisement functions through voice-interface of an instant messenger of a divided object window is possible (VIM-Voice Interface Messenger).
Seventh, when there is no input through a mouse or keyboard for a predetermined time, as the page is maximized, the monitor is functionally protected, and a plurality of advertisements and additional services are displayed on a single divided object window or a plurality of divided object windows.
21
Also, in assigning the direction of movement and the time set for movement of the divided object window or in the window of the present invention, first, the movement includes each of directions of up and down, and to the left and right, including a direction combining the respective directions, and all movements such as horizontal, rotational, wave, and spiral movements, with the above movements and the combination of the above movements. Also, the present invention includes instant appearance and removal of a divided object window or within the divided object window Second is a method of assigning a set time of a divided object window. The method concerns all of a method of time set (a method of screen display time and screen refresh period for each surface of a divided object window), a method of a screen display time assigned between surfaces and services and setting of a display rate (frequency), and a method of setting according to a display priority order standard between services.
In the case in which the object window is a rectangular solid, for example, when a total time Tt (1 period) during which the entire surface is all displayed with priority order is shown in the form of sum of time needed to display for the respective surfaces with respect to the time needed to display of the entire surface, the result is shown below in Table 1. Here, the time needed to display of each surface and the display rate (frequency) is represented as the sum of the entire Tt, that is, Tt=T1 +T2+T3+...T6. The service setting of each surface can be changed according to the setting standard and the definitions of the priority order and appearance frequency can be selected and set by a manager and an empowered service provider or user within a range of a table set under a basic setting. In Table 1 , the display rate (appearance frequency rate) and the priority order of each surface can be adjusted and the display time of each surface is between 0-Tt.
22
[Table
Another example is shown below in Table 2.
[Table 2]
The present invention can be realized to provide various services by the combination of the above methods in addition to Table 1 and Table 2.
In the present object window, motion picture is realized by using JavaMediaFramework library to use stop, play, and search functions of video data. Instead of texture surface data which is a conventional still image, motion picture data is loaded from the advertisement database. Stream data is periodically or non-periodically transmitted to a Java object corresponding to the network speed.
The moving object of the present invention is realized by using a pure 3-D library Jview3D on an applet of Java. In this case, a library package included in the present invention is shown below.
import tom.graphic.ThreeD.*;
23
import java-awt-*; import java.applet.*; import Java, io.*; import java.net.*; import COM. taligent. widget.*;
Next, as a preferred embodiment of the present invention, when a cube has the size of a divided object window of the present invention is 1 and rotates in Y axis by one second, a source code is shown below.
Example of an object window producing source code of the present invention using a standard library
Step1 > Producing a cube by using getCube Method in 3-D space //=======================^==========================^===
//code for producing a cube objected cube; //x,y,z, color cube = object3D.getCube(1 , 1 ,1 , color-yellow); view.view().world().remAllobj(); //selete all objects view.view().world().addobj(cube); // <— add the above defined cubt to world cube.spRot.y=5; view.view().pos.z+=50; view.textureEnabled=true; //setting texture mapping //============================================
Step2> Mapping texture to add a user and sponsor's advertisement to a cube. //if six surfaces of a cube are mapped with advertisement content II— > six surfaces are assigned with different images. for( int i=0; I <6; I++)
{
String facename = getParameter("tex"+i);
if(facename != null)
{
Face f=(Face)cube.tFace[i]; TextureMap tmap = new TextureMap(facename);
24
if( tmap.pixlmage !=null ) f.setText(tmap);
}
} //======================================================
Step3>Thread to redraw a changed picture of a cube is configured
// public void run()
{ try{ do{ view.repaint(); //redraw a picture Thread. sleep(1000); //delay for one second
}while(true); }catch(Exception e)
} /[===============================================^====i- Step 4> The following is a source for detailing a moving object in a direction if the movement direction is reset by pressing and dragging a mouse and if the mouse is released.
//If a mouse button is pressed, to store the coordinates of the mouse after rotation of a cube stopps public boolean mouseDown(Event e, int x, int y )
{ cube.spRot.y=0; lastx=x; lasty=y; return view.mouseDown(e,x,y);
} //if a mouse is dragged, changed coordinates of the mouse is stored- public boolean mouseDrag(Event e, int x, int y)
{ lastx = x; lasty = y; return true
}
//if the mouse button is released, the cube is rotated in a reset
25
direction. public boolean mouseUp(Event e, int x, int y )
{
//if a mouse movement distance is over 30 pixels if( (lastx-x)>30) cube.spRot.y=(((float)(lastx-x))/10f); if( (lasty-y)>30 ) cube.spRot.x=(((float)(lasty-y))/10f);
//store final position lastx=x; lasty=y; return view.mouseUp(e,x,y); }
Step 5> the above cubeApplet.java is compiled and called on a web browser.
<html>
<title>MAGIC BOX V1.0</title>
<body>
<JSP plugin type="applet" code=cubeapplet.class"> <JSP=PARAMS> <JSP=PARAM NAME= "Img01 " VALUE=CC.gif/>
<JSP=PARAM NAME= "Img02" VALUE=UC.gif/>
An example realized without using standard library is shown below.
Step 1 > Object data formed of points and lines (polygon) is produced.
//division 1 point v 1 1 1 v 0 1 1 v 0 0 1 v 1 0 1
//division 2 point v 1 0 1 v 0 0 1 v 0 -0.13 1 v 1 -0.13 1
//division 1 surface data f 1 2 3 4
//division 2 surface f 5 6 7 8
Step 2> Object data is loaded.
Model3D (InputStream is) throws lOException, FileFormatException {
26
thisQ;
StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(is))); st-eollsSignificant(true); st-commentChar('#'); scan: while (true) { switch (st.nextToken()) { default: break scan; case StreamTokenizer.TT_EOL: break; case StreamTokenizer.TT_WORD: if ('V'.equals(st.sval)) { double x = 0, y = 0, z = 0; if (st.nextTokenO == StreamTokenizer.TT_NUMBER) { x = st.nval; if (st.nextTokenO == StreamTokenizer. TTJMUMBER) { y = st.nval; if (st.nextTokenO == StreamTokenizer. TT_NUMBER) z = st.nval;
} } addVert((float) x, (float) y, (float) z); while (st.ttype != StreamTokenizer.TTJΞOL && st.ttype != StreamTokenizer.TT_EOF) st.nextTokenO; } else if ("f'.equals(st.sval) || "fo".equals(st.sval) ||
' '.equals(st.sval)) { int start = -1 ; int prev = -1 ; int n = -1 ; while (true) if (st.nextTokenO == StreamTokenizer. TTJMUMBER) { n = (int) st.nval; if (prev >= 0) add(prev - 1 , n - 1 ); if (start < 0) start = n; prev = n; } else if (st.ttype == '/')
27
st.nextTokenO; else break; if (start >= 0) add(start - 1 , prev - 1); if (st.ttype != StreamTokenizer. TTJΞOL) break scan; } else { while (st.nextTokenO != StreamTokenizer. TT_EOL && st.ttype != StreamTokenizer.TT_EOF);
} }
} is.close(); if (st.ttype != StreamTokenizer. TT_EOF) throw new FileFormatException(st.toString());
} Step 3>Example of loading individual surface data from advertisement database on the request of Java applet public void Loadlmage(int surf.String UserlD)
String col1 =null,col2=null,col3=null,col4=null,
String cquery= "select user_comp, owner , location, url from image where user_comp='C
String uquery= "select user_comp,owner .location, url from image where owner=? and surf=?;"; boolean lsEmpty=true; //user surface data existence check flag. uid= UserlD;
System. out.println("User ID="+uid);
//if in a user login state, first check a message. if( uid!=null){
//check whether there is message data. try{
myCon=DriverManager.getConnection( url, "admin", "****"); pstmt=myCon.prepareStatement(uquery);
28
pstmt.setString(1 , uid); pstmt.setlnt(2, 9); //surface number is
9— >message rs=pstmt.executeQuery(); //lsMsgExist=false; int cnt=0; while(rs.next()){
coll = rs-getString(l ); col2 = rs.getString(2); co!3 = rs.getString(3); col4 = rs.getString(4); System. out.println("rs="+col1 +"|
"+col2+"| "+col3+"| "+col4);
//temporarily, the number of division is
//NumTexPerSurf[3]=1 ; cnt++; lsMsgExist=true;
} msgcnt=cnt; rs.close(); pstmt.closeO; myCon.closeO; } catch( SQLException e ){
System. out.println(e.toStringO);
} }//message check end.
try{ myCon=DriverManager.getConnection( url, "admin", "****");
stm =myCon.createStatement();
//if user surface data is requested if( uid!=null && (surf >=30 && surf <34) )
{ lsEmpty=true;
pstmt=myCon.prepareStatement(uquery);
pstmt.setString(1 , uid);
29
pstmt.setlnt(2, j);
rs=pstmt.executeQuery();
//if there is user surface data while(rs.next()){
coll = rs.getString(l ); col2 = rs.getString(2); col3 = rs-getString(3);
col4 = rs.getString(4); //System-out.println("rs="+col1 +"|
"+col2+"| "+col3+"| "+col4); lsEmpty=false;
} //if there is no user surface data if( IsEmpty == true ){
col1 = "C"; col3 = "defaultimage.gif"; col4 = "http://www.innosoftech.com/guide.htm"; System. out.println("empty! !");
} pstmt.close();
} //if not in a user login state or not a user surface (the fourth surface) in a user login state else{ rs = stm.executeQuery(cquery);
for( int a =0; a <readlinenum; a++)
{ if( rs-next()){ coll = rs.getString(l );
30
col2 = rs.getString(2) co!3 = rs.getString(3) col4 = rs.getString(4)
} else{ rs-closeO; stm.close(); myCon.closeO;
myCon=DriverManager.getConnection( url, "root",""); stm =myCon.createStatement();
rs = stm.executeQuery(cquery); rs.next(); //rs.next();
coll = rs.getString(l ) col2 = rs-getString(2) col3 = rs.getString(3) col4 = rs-getString(4)
readlinenum = 1 ; break;
}
} readlinenum++;
} // end of else rs.closeO; stm.closeO; myCon.closeO;
;*******************************************/
//begin to input result in UrlStrings, ImageNames buffer
31
if( col4.length()<=7 )
col4- 'http://www.innosoftech.com/defaultpage.htm 1; //store address of link page. UrlStrings[i][j] =col4;
//if a company/public advertisement if( col1.charAt(0) == 'C')
{ if( col3.compareTo("mempix")==0) lmageNames[i][j]="mempix"; else
//position of the original image to be user in a magnified web page lmageNames[i][j]="http://www.innosoftech.com/textures/"+col3;
//col3.substring(9);
}
//if a user post else if( col charAt(O) == 'U' ) { if(lsMsgExist ==false) lmageNames[i] ]="http://www-innosoftech.com/User/"+uid+"/"+col
3; //col3.substring(3+uid.length()); else lmageNames[i]0]="http://www.innosoftech.com/User/"+uid+"/rx_ms g/"+col3; //col3.substring(3+uid.length());
}
System. out.println("location="+lmageNames[i][j]);
;*******************************************;
//end to input the result to UrlStrings, ImageNames buffer
}//end of try catch( SQLException e ){
System. out.println(e.toStringO); }
}//End of Loadlmage.
32
Step 4>Realizing rendering through algorithm such as Affine Mapping or Perfect Mapping. Here, a mapping style in an affine method is described.
public void RenderData(){ if( affine == true ){ u = r[4j; v = r[5]; if (dx != 0) { du = (s[4]-r[4])/dx; dv = (s[5]-r[5])/dx;
} mycolor = tex[(v»16)&tex_maxy][(u»16)&tex_maxx]; u+=du; v+=dv;
}
}
Step 5>When drawing of an object until step 4 is completed, interlinking additional service such as a user interface by a mouse click. public void mousePressed(MouseEvent e)
{
URL Lurl.Murl;
AppletContext ac = getAppletContext(); int order,surf,poly;
String DeleteMsg=null;
String Urlstr=null; URL url= null; autoRotate = false; activelD = J.getlD(mouse_x, mouse_y);
order=CBI.CheckSurfOrder(activelD); surf=order/10; poly=order%10;
System. out.println("surf="+surf+" poly="+poly);
//when a message arrives, a news article is being printed, or a company string advertisement is clicked. if( poly == CBI.PolygonPerSurf[surf]-1 ){ if( DP.IsMsgExist!=true )
{
//LINK indicate web page try{
33
Lurl=new URL( getDocumentBase(),MF.textURL); ac.showDocument(Lurl,"LinkPage");
} catch(Exception ex){
System. out.println("LinkURL Error!");
} }
} else{
System. out.println("surf="+surf+" poly="+poly+" ####URL="+DP.UrlStrings[surf][poly]);
try{ if( DP.UrlStrings[surf][poly].length() <= 7 ) DP. UrlStrings[surf][poly]="http://www. innosoftech.com/defaultpage
.html";
Lurl=new URL( getDocumentBase(),DP-UrlStrings[surf][poly]); //link_url[activelD]);
//LINK indicated web page ac.showDocument(Lurl,"LinkPage");
}//end of try catch(Exception ex){
System. out.println("LinkURL Error!"); } if( DP.IsMsgExist == true && (order >= 30) ){ DeleteMsg="DELETE_MSG"; DP.IsMsgExist=false;
Urlstr="http://www.innosoftech.com:8080/servlet/lmageServlet?IM G="+DP.ImageNames[surf][poly]+"&MSG="+DeleteMsg+"&UID="+uid;
//clear message surface.. for( int i=0; i <4;i++)
34
textures[i][CBI.PolygonPerSurf[i]-1]=Message1 ;
//System.out.println(DeleteMsg);
else {
try{
Urlstr="http://www.innosoftech.com:8080/servlet/lmageServlet?IM
G="+DP.Image.Names[surf][poly]+"&MSG="+DeleteMsg+"&UID="+uid;
}catch(Exception ex){ System. out.println("ZoomURL Error!"); }
} try{ url = new URL(getCodeBase(), Urlstr); ac.showDocument(url, "ZoomPage"); }catch(Exception ex){
System. out.println("ZoomPage Error!"); }
Industrial Applicability
As described above, the present invention provides a method and apparatus for producing a divided object window in 2-D or 3-D based on a dedicated or non-dedicated web browser. Also, a method for providing additional service such as advertisement, email, chatting, instant messenger, current news, game, or electronic business bi-directionally using a corresponding object window, and a server-client system is provided. Thus, a user using the Internet can be provided with various object windows and additional services using the same, so that use of the Internet is maximized.
35
While this invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims-
36