The present invention relates to delivery of digital content from a server via a network to clients connected to a plurality of local networks. To describe it in detail, the present invention relates to a digital content delivery system, a digital content delivery method, a server and a client for the same, a computer-executable program for controlling a computer as a server, and a computer-executable program for controlling a computer as a client capable of having the same digital content shared by all the clients connected to the local networks just by sending from the server the smallest packet required by the server to reconstitute the digital content.
In recent years, networks such as the Internet via methods such as a computer, a public telephone circuit, ISDN, optical communication, radio communication, ADSL and CATV are increasingly diffusing. As for the future, it is thinkable that there will be further diffusion of not only delivery of digital content such as e-mail but service of delivering text data, voice data, image data and multimedia data combining them via the networks from the server placed on a site for providing the digital content to a plurality of computers or clients such as portable terminals.
Various techniques have been proposed so far for the sake of one-to-many data communication. However, there have arisen various problems combined with diversification of computer apparatuses and network environments.
In this case, only a single data stream flows among the dedicated routers 106 regardless of the number of the clients 102 so that the congestion of the network is prevented and the load of the server is significantly alleviated. To use the IP multicast, however, it is essential to replace all the routers on the path with the dedicated routers 106. And it requires enormous capital investment because of essential investment in an infrastructure. Furthermore, there are many cases where the dedicated router 106 supporting the IP multicast has a setup not to pass a multicast packet operationally. For this reason, the delivery by the IP multicast is not realistic in many cases.
As a method of solving the above problem of the IP multicast, there is “Multicast Tunneling” represented by MBone. It links the networks passing no multicast with virtual tunnels by the unicast so that the multicast packet is delivered. This method has the tunnels constituted by the computers for constituting them, and so it requires a daemon process to constantly function. Use of the Multicast Tunneling expands an applicable scope compared to the cases of using only the IP multicast. However, a number of problems accompanying the IP multicast such as necessity of infrastructure support and difficulty of routing are not completely solved yet. Furthermore, the IP multicast has a problem that addresses are uniquely determined the world over and so it is difficult to perform the delivery to a limited domain. This problem also applies to the Multicast Tunneling.
Small Group Multicast (XCast) is also known as a deformed example of the IP multicast. As for the Small Group Multicast (XCast), a list of all the destinations is described in the packet so that the router supporting SGM existing on the network interprets the packet and individually performs the unicast. This method is characterized in that the router not supporting SGM can exist in between, implementation is simple compared to the IP multicast, and a delivery scope can be defined. However, this method is a technology for performing simultaneous delivery to a small group as its name indicates. Therefore, if the group becomes larger to a certain extent, the destination list becomes enlarged and the load per packet becomes significant, resulting in a limited applicable scope.
Furthermore, in the case where a role of the client is fixed in the application-level multicast, there arises an essential problem that, if the client positioned upstream breaks away from the local network or suddenly goes down, the data is not delivered to downstream clients. To solve this problem, it is thinkable to cope with it by operating the daemon process for performing only a transfer to each client even when the client does not need to receive any delivery. It is not possible, however, to cope with it by this method in the case where a failure occurs to the client or the client breaks away physically like a hot spot of a wireless LAN.
The following documents are to be considered:
As a result of a review by the inventors hereof, however, it was found out that there are the cases where the above-mentioned P2G type data delivery is not necessarily efficient in a collision domain (non-switching environment) such as a wireless LAN and a wired LAN consisting of repeater hubs. FIGS. 22 schematically describe inconvenience arising in the collision domain.
As for the collision domain shown in
To describe it more concretely, in the case where the P2G type data delivery is applied in a network of the non-switching environment such as the domain comprised of the wireless LAN, repeater hub/bridge and so on for instance, one-to-one communication prevails at least once in the entire collision domain in addition to the destination. For this reason, a lot of packets (O(n2), n is the number of clients) which influence the clients other than the destination client for sharing the P2G type data are redundantly communicated in the collision domain.
It means that, assuming that the P2G type data delivery is performed to the network including the wireless LAN environment, a network bandwidth is wastefully consumed so as to cause a problem in the collision domain such as reduction in the entire communication speed. In addition, while communicating a predetermined communication packet from one client to another client, the communication between the clients not related thereto is interfered.
As described above, it can be said that, in the case of a so-called collisionless domain in which the clients in the domain are connected by switch means such as the switching hub, the P2G type data delivery is highly efficient and is also robust against the change in client configuration. In the case of the collision domain (non-switching environment), however, it was found out as a result of a further review by the inventors hereof that there is the inconvenience of the limited applicable scope because of inefficient communication in the collision domain as described above. Therefore, it was found out that the P2G type data delivery in the past requires a method of delivering the data efficiently to a large number of clients in a network environment referred to as the collision domain while reducing additional investment in the infrastructure as much as possible.
Therefore, the present invention provides improved efficiency in a network environment using no switching means in the above P2G type data delivery. According to an aspect of the present invention, it assumes that a server is connectable to all or a part of destination clients so that the server sends a source packet to any one client by a unicast. The client having received it transfers a copy packet to a predetermined local multicast address. All the clients receiving delivery service can access this multicast address. For this reason, it is possible for all the clients to constantly receive the packets regardless of which client first received the packet directly from a delivery server.
Furthermore, according to the present invention, the server randomly changes the client for sending the packet first so that, the larger the number of clients becomes, the lower the frequency with which each client sends the copy packet to the multicast address becomes in inverse proportion to the number of clients. For this reason, the load among the clients is shared, and at the same time, it becomes easier to cope with a specific client participating in or pulling out of the network. It is also possible, as the clients operate in collaboration to allow sharing of digital content, to eliminate necessity of additional investments such as a secondary server in a corresponding collision domain.
Another aspect of the present invention is to provide a method for delivering the digital content via the first network and the second network, a digital content delivery method including the steps of:
In another aspect, the present invention also provides a server used for the system for delivering the digital content via the first network and the second network.
The present invention also provides a computer-executable program for controlling a computer as the server for executing the digital content delivery method via the first network and the second network.
Furthermore, the present invention provides the computer-executable program for controlling a computer as a client for delivering the digital content via the first network and the second network.
These and other objects, features, and advantages of the present invention will become apparent upon further consideration of the following detailed description of the invention when read in conjunction with the drawing figures, in which:
FIGS. 19 are diagrams showing a representative technique in the case of performing one-to-many data delivery in the past;
FIGS. 20 are diagrams showing a representative technique in the case of performing the one-to-many data delivery in the past;
FIGS. 22 are diagrams schematically describing inconvenience arising in the collision domain.
The present invention has been implemented in order to improve the efficiency in a network environment using no switching means in the above P2G type data delivery. The present invention assumes that a server is connectable to all or a part of destination clients so that the server sends a source packet to any one client by a unicast. The client having received it transfers a copy packet to a predetermined local multicast address. All the clients receiving delivery service can access this multicast address. For this reason, it is possible for all the clients to constantly receive the packets regardless of which client first received the packet directly from a delivery server.
Furthermore, according to the present invention, the server randomly changes the client for sending the packet first so that, the larger the number of clients becomes, the lower the frequency with which each client sends the copy packet to the multicast address becomes in inverse proportion to the number of clients. For this reason, the load among the clients is shared, and at the same time, it becomes easier to cope with a specific client participating in or pulling out of the network. It is also possible, as the clients operate in collaboration to allow sharing of digital content, to eliminate necessity of additional investments such as a secondary server in a corresponding collision domain.
To be more specific, the present invention provides a system for delivering digital content via a first network and a second network, a digital content delivery system including:
the above described client includes means for creating a copy packet from the above described packet as the minimum unit received from the above described server and multicasting the above described copy packet to the second network to which the above described client is attributed.
The above described server includes means for sending a multicast address value to the above described client. The above described server includes means for detecting that the above described client is connected to the above described second network and updating the above described client list. The above described server includes means for deleting the address identification value of the above described client from the above described client list according to a response from the above described client receiving the above described packet as the minimum unit. The above described server includes a domain list storing an environment of the above described second network used to change the means for selecting the client to which the packet as the minimum unit should be sent next. The above described second network includes at least a wireless local network environment and the above described client is a portable terminal networked in the wireless environment.
The present invention also provides a method for delivering the digital content via the first network and the second network, a digital content delivery method including the steps of:
The above described client of the present invention is selected by randomly selecting address identification values of the above described client registered with the client list held by the above described server. The above described client list of the present invention is updated according to connection of the above described client to the above described second network and the response of the above described client. It includes a step of having a multicast address value for multicasting in the above described second network obtained by the above described client from the above described server.
Furthermore, the present invention also provides a server used for the system for delivering the digital content via the first network and the second network, the above described server including:
The server of the present invention further includes means for sending to the above described client the multicast address value to be used in the above described second network. The above described server includes the domain list storing the environment of the above described second network used to change the means for selecting the client to which the packet as the minimum unit should be sent.
The present invention also provides a computer-executable program for controlling a computer as the server for executing the digital content delivery method via the first network and the second network, the above described program causing the computer to execute the steps of:
The present invention further causes the above described server to execute a step of referring to the domain list for storing environment information on the above described second network used to change the means for selecting the client to which the packet as the minimum unit should be sent.
Furthermore, the present invention provides the computer-executable program for controlling the computer as the client for delivering the digital content via the first network and the second network, the above described program causing the computer to execute the steps of:
The present invention can cause the above described computer to execute a step of obtaining a multicast address value sent from the above described server for multicasting in the above described second network.
Section I: Overview Description of P2G Type Data Delivery
As for the digital content to be delivered in the present invention, it is possible to name MPEG2, MPEG4 or moving image data of a higher dimension which needs to simultaneously provide the content to the plurality of clients in real time. With regard to the digital content in the present invention, it is also possible to use multimedia data comprising a plurality of types of digital data such as the moving image data and sound data, text data and so on other than the moving image data. According to the present invention, it is also possible to deliver arbitrary digital data including software and so on other than the multimedia data.
The clients 20 are also connected to the network 12 via the router 16, switching hub 18 and so on. The clients 20 are also identified by the server 14 by the method of having predetermined domain numbers and so on allocated based on domain identification values such as IP addresses allocated to the same router 16. According to an advantageous embodiment of the present invention, also the clients 20 form the network 22 connected by a P2P connection in the predetermined domain so as to allow mutual communication between the clients in the domain.
Furthermore, other than the collisionless domain formed by using the switching hub 18, the present invention comprises a collision domain 26 constituted, for instance, as the domain by a network equipment 24 branched from the network 12 via the router 16 and having no switching function such as a terminal and a repeater hub/bridge for the wireless local area network (LAN). To be more precise, the collision domain 26 is constituted, for instance, as a local network 28 using the wireless LAN such as a wireless local network or an infrared local network, a wired LAN such as Ethernet®, an optic LAN mutually connected by an optical fiber and so on.
The server 14 usable for the present invention can be comprised of a personal computer or a workstation. The personal computer or workstation can be the one capable of having a CPU such as PENTIUM®: Intel Corp. or a CPU compatible with it mounted thereon and also capable of operating an operating system such as WINDOWS®: Microsoft Corp.), WINDOWS® NT (Microsoft Corp.), OS/2 (trademark, International Business Machines Corp.), AIX (trademark, International Business Machines Corp.), UNIX® or LINUX. However, it is not limited thereto.
The client 20 usable for the present invention is the personal computer or workstation applicable to the above-mentioned server 14. Besides, as for the collision domain 26 in particular, a highly portable computer such as a notebook-sized personal computer, a PDA or a cellular phone can be used.
The digital content delivery system shown in
To schematically describe the content delivery process of the digital content delivery system 10 of the present invention shown in
The client having received the copy packets accumulates them for a predetermined period. After the predetermined period elapses, the client reconstitutes the streams by using packet identifiers attached to the packets as serial numbers for instance so as to have the digital content displayed or reproduced on the client. To be more specific, according to the present invention, the server 14 allows the clients belonging to a predetermined group to share the same digital content without sending redundant packets to the clients of one group. The collisionless domain and the above-mentioned content delivery process are described in detail in the Patent Document 1, and so no more description thereof will be given.
Section II: Content Delivery to the Collision Domain and Sharing Thereof
The source packet sent out from the server 14 to the network 12 gets to the network equipment 24 having no switching function via a router 16a. The source packet includes an address identification value such as an IP address of a client 20a, for instance, as one of the clients 20a to 20f attributed to the collision domain randomly selected by the server. The network equipment 24 sends out the received source packet to the local network 28. After being sent out to the local network 28, the source packet is read to the client having the address identification value included therein.
The above-mentioned process of the clients 20a to 20f is repeated until the packets accumulated in the buffer memory become enough to reproduce the original digital content at appropriate intervals. Thereafter, integrity of the packets is determined by using packet identification values, and the packets are sorted as required so that each client reconstitutes the digital content. The present invention does not designate any specific format and application for constituting the source packet. However, it is possible, for instance, to create the source packet in a “.wav” file format and use the application such as MediaPlayer (trademark), for instance, as a reproduction program.
Section III: Server and Clients of the Present Invention and Processes Performed by them
In the case where the server 14 sends out the digital content to the clients, a CPU 38 reads the digital content from the storage device 36 first and sends the read digital content to a source encoder 40 and an FEC encoder 42. On receiving the digital data, the source encoder 40 and FEC encoder 42 perform a streaming process to the digital data, and further divide one stream into the packets of a predetermined size. The server 14 comprises a client selection means 44 for selecting the address identification values of the clients to be sent depending on a network environment of the domain to send them.
The client selection means 44 obtains client identifiers by referring to a client list 50 and a domain list 56 stored in a memory 46. Thereafter, the source packet 30 is generated by adding the obtained address identification value, source address, sending time, packet identification value and so on. The generated source packet 30 is delivered to the client attributed to a randomly selected collision domain via the communication means 34. In this case, the server 14 only sends the packet as the minimum unit to a predetermined collision domain, and does not send a redundant source packet.
The domain list 56 shown in
According to the present invention, it is possible, as shown in
According to the present invention, it is possible to implement the client list 50 with a configuration such as the hash table. The client list 50 is updated by adding or deleting the address identification values. As for the process in the case of adding the address identification value of the client, it is possible, in the stage in which the client is connected to the local network 26 forming the collision domain, to issue a participation notice “Joinrequest” to the server 14. And when the server 14 sends an “IPmulticastaddress” in response to the participation notice “Joinrequest” and subscription of the IP multicast address is completed for the client, it can be added to the client list 50.
According to another embodiment of the present invention, in the case where the client can subscribe to the applicable multicast address without having the IP multicast address sent by the server 14, it is possible to update the client list 50 by adding the address identification value to it in the stage in which the client is connected to the domain and in the stage in which a “helloacknowledgment” is notified from the client to the server 14.
Hereafter, a detailed description will be given as to processing of the server 14 including a functional process of the client selection means 44 for selecting the client in the collision domain. On receiving the request for participation in the P2G type data delivery such as the “Joinrequest, the server 14 analyzes a participation request packet and identifies the client having issued the participation request. In this case, to clearly describe the present invention, the description will be given on the assumption that the participation request was issued from the client attributed to the collision domain. If the domain identification value such as a subnetwork mask of the domain to which the client is attributed is identified from the participation request, the server 14 randomly selects the address identification value such as the IP address of the client attributed to the domain identification value so as to set it as the destination address. Thereafter, the server 14 generates the source packet 30 having the configuration shown in
In the case where the server 14 selects the client identification value from the client list, it is possible, according to a specific embodiment of the present invention, to select a randomly registered client identification value as to the collision domain. According to another embodiment of the present invention, it is also possible to randomly select the source packet from the client identification values left after excluding just one client identification value of which source packet was sent just before it. According to the above-mentioned other embodiment, it is possible to securely eliminate a possibility of having the source packet sent again to the client performing the process of creating the copy packet from the source packet sent just before it. Therefore, it allows more efficient content delivery to be performed to the collision domain.
According to an advantageous embodiment of the present invention, the communication means 34 comprises a transmission buffer 34a as shown in
According to an advantageous embodiment of the present invention, the queue monitor 44a included in the client selection means 44 can calculate the queue occupation ratio of each client and render a value thereof as a response indicator of the client. This response indicator corresponds to a good response of the client if the value is small, and indicates a low response of the client if it is large. As will be described further in detail later, it is possible, by using the response indicator, to designate a next client to send the source packet in the collisionless domain and monitor a breakaway and a down state of the client in the collisionless domain and collision domain.
According to a further embodiment of the present invention, it is possible to use Round Trip Time (RTT) in order to monitor the response state of the client as described in Japanese Patent Application No. 2002-303850. According to this embodiment, the server 14 monitors the response packet for sending a notice that the source packet 30 was received from the client. The response packet may include a copy of the packet identification value of the received packet, a copy of the sending time attached to the source packet 30 and so on in addition to the IP header information described as to the source packet 30. According to the present invention, the server 14 calculates the RTT by using the response packet, and checks a load state and a connection state of the client in the local network at that time. As for a concrete process for this purpose, the source packet 30 sent to a predetermined destination is stored in an adequate memory of the server 14, and a time difference between the sending time recorded in each response packet and the time then at the server 14 is calculated at the stage in which the server 14 receives the response packet so as to have the RTT obtained by the server 14. Furthermore, it is also possible, according to the present invention, to use the RTT as an indicator directly indicating the connection state of the client to the extent that there is no inconvenience in particular.
According to a specific embodiment of the present invention, the server 14 thereafter calculates RTT−1 to render it as the response indicator of the client. The client selection means 44 compares the value of RTT-−1 to a threshold T for the response as to the client attributed to the collision domain. As for the client in the collision domain, it may be determined that, in the case of RTT−1≦T, the client is down or has broken away from a hot spot, for instance.
According to the present invention, the response of the client is determined by using the above-mentioned response indicator, and it is detected that reliability of the client is lowered in the delivery of the source packet 30 based on comparison with a predetermined threshold. As for the present invention, the response indicator of the above-mentioned standard was described as a concrete embodiment. It is possible, however, to obtain the response indicator otherwise by using the methods and means already known. As described above, in the case where the reliability of the response is lowered apart from the method of generating the response indicator, the sharing of the source packet 30 cannot be assured. For this reason, the server 14 reads the source packet 30 from the memory and allocates another client identification value of the client list 50 so as to generate a retry packet. The retry packet is sent to a newly selected client. The server 14 can monitor the response packet from the client having been sent the retry packet so as to securely perform the P2G type data delivery.
The client having shown an abnormal delay based on the response indicator is in a state of being excessively processed or capable of no response at all, and so it is not suited to having the source packet delivered thereto. For this reason, in the case where the above-mentioned abnormal delay is detected as to the collision domain in the specific embodiment of the present invention, the server 14 deletes the address identification value of the client from the client list 50 and thereby updates the client list so as not to repeat a redundant sending process of the above-mentioned source packet.
According to the present invention, even if the client having given the abnormal delay is deleted from the client list, the copy packet is sent by the IP multicast in the collision domain. For this reason, even in the case where the client breaks away from the hot spot or even in the case where the response delays by some process, the copy packet is securely sent to the client connected to the local network then so that no serious problem arises to the P2G type data delivery.
In a step S18, the server 14 monitors the response state of the client by using the queue occupation ratio or RTT. In a step S20, it has the response indicator calculated from the queue occupation state or RTT, and has it stored in the memory. If determined that the response is insufficient or there is a possibility of a breakaway from the network (no) in a step S22, the server 14 deletes the address identification value of the applicable client from the client list in a step S24. Next, in a step S26, it randomly selects the next address identification value from the clients still registered in order to avoid a loss of the source packet. In a step S28, it reads the source packet stored in an adequate memory of the server 14 and creates the retry packet by adding a new address identification value so as to send it to the network. And it monitors the response packet again in the step S18 to continue the process. If determined that the response of the client is sufficient based on the response indicator (yes), the server 14 returns the process to the step S18 and performs the sending process of the next source packet.
According to the present invention, the receiving buffer 62 can be constituted as a ring buffer for writing the received packet to the address corresponding to the packet identification value on receiving the received packet each time. The client 20 also comprises a central processing unit (CPU) 66, a source decoder 68 and an FEC decoder 70. According to the present invention, however, the FEC decoder is not always required. The CPU 66 is driven by a clock, and reads the packets accumulated in the receiving buffer 62 for a predetermined period so as to send them to the FEC decoder 70 and source decoder 68 and reconstitute the moving image data equivalent to one stream. The reconstituted moving image data equivalent to one stream is displayed or reproduced on a display 72 and is provided to a user of the client.
The moving image data displayed or reproduced to the user may either be deleted from the client 20 or be stored in a storage device 74 such as a hard disk, a magneto-optical disk or a magnetic tape by holding all the streams from the start to the end of the digital content in the memory 64.
The process of the server 14 shown in
The P2G server 80 further comprises another client list corresponding to the collisionless domain. However, it will not be described in detail because it is not the gist of the present invention. This client list has IP address information, for instance, which is the address identification values of the clients in the collisionless domain and effective throughput corresponding to overhead of the clients obtained by using the response packet on sending the source packet last time registered therewith.
As described above, the P2G server 80 generates the response indicators with clients 92a to 92d in order to perform the P2G type data delivery to the local network 86 in the collisionless environment. And it sequentially selects the client which is most reliable, that is, of low overhead so as to send the source packet. The clients 92a to 92d having received the source packet create the copy packet of the source packet, and deliver the copy packet by the unicast by using the addresses of the other clients included in the domain.
Furthermore, a description will be given as to the case where the P2G server 80 sends the source packet to the collision domain. In the case of sending the source packet, the P2G server 80 randomly selects the address identification values of the clients registered with the client list. Thereafter, it unicasts the source packet to a client 94a attributed to the collision domain. The client 94a having received the source packet creates the copy packet having an IP multicast address attached thereto and multicasts the copy packet to the local network 90 so as to allow the packet to be shared by the other clients 94b to 94d. Irrespective of which domain it is attributed to, the client having received the source packet can send the response packet to the P2G server 80 and notify the P2G server 80 of the successful reception of the source packet, effective throughput or connection state.
Hereafter, a description will be given as to the details of a P2G type data delivery protocol in the case of using the wireless local network 90 for the present invention. FIG. 14 is a diagram showing the process from establishment of a communication session to sending and receiving of the source packet in chronological order as to transactions among the clients 94, access point 96 and P2G server 80 in the case where the collision domain is constituted as the wireless local network. The term “wireless” used in the present invention broadly means that it is not “wired” and includes optical communication, radio communication and so on, and as for a communication protocol, any protocol known so far such as Bluetooth may be used. As for the P2G type data delivery, it will be described on the assumption that it is performed to a service provider in each user domain registered by the user by obtaining a predetermined IP multicast address or necessary access information.
The embodiment in the wireless local network will be described by using
The client obtains the information such as the IP address and port number of the server in advance from a network administrator and so on, and has it stored in an adequate nonvolatile memory. The client establishes the connection with the access point at a data link layer level, and then sends a “helloacknowledge” to the P2G server at a network layer/transport layer level to establish a TCP session with the P2G server. On receiving the “helloacknowledge,” the P2G server obtains an address identifier of the client, and adds the address identifier to the client list so as to establish the TCP session between the client and the P2G server by sending a “hellopermission” to the client.
The client having received the “hellopermission” sends the “Joinrequest” to participate in the P2G type data delivery to the P2G server. The P2G server having received the “Joinrequest” notifies the client of the multicast address allocated to the collision domain to the domain in advance, and establishes the session for the P2G type data delivery at an application layer level. Thereafter, the P2G server randomly selects the client or obtains the response indicator by using the time t from the time to at which the source packet was sent, and selects the client so as to send a source packet “sourcepacket” to the selected client. The time t is a predetermined threshold time set up as the response indicator on the server 14 in the case of using the indicator calculated based on the queue occupation ratio as described above. And in the case of using the RTT as the response indicator, it is the time for receiving the response packet as shown in broken line.
A description will be given by using FIGS. 16 to 18 as to the transaction in the case of killing the connection between the client and the P2G server connected to the wireless local network 90. The client and the P2G server receive the P2G type data delivery according to a session establishment protocol described in FIGS. 14 or 15. Generally, there are the following three cases when the client breaks away from the P2G type data delivery. First, it is the case where the client shuts down normally. Secondly, it is the case where it is cut from the P2G server, such as when the P2G server finishes the delivery. And thirdly, it is the case where the client comes out of the hot spot such as the case of using the wireless local network or the case of abnormal termination of the client.
According to the present invention, it is possible, by performing the above-mentioned process, to deliver low-cost data with efficiency and high reliability to the client connected to the local network of any form known so far.
As for the means or portion for implementing each of the above-mentioned functions of the present invention, it is possible to constitute it as software or a software module group described in a computer-executable program language. And it is not always necessary to constitute it as the functional block described in the drawings.
The above-mentioned program for performing the digital content delivery of the present invention can be described by using various programming languages such as C language, C++ language and Java®. The code describing the program of the present invention can be held on computer-readable storage media such as the magnetic tape, flexible disk, hard disk, compact disk (CD), magneto-optical disk and digital versatile disk (DVD).
The present invention has been described so far by using the concrete embodiments described in the drawings. However, the present invention is not limited to the above-mentioned specific embodiments, and various modified examples, other embodiments and any component known so far may be used to the extent that the present invention is effective. The variations described for the present invention can be realized in any combination desirable for each particular application. Thus particular limitations, and/or embodiment enhancements described herein, which may have particular advantages to a particular application need not be used for all applications. Also, not all limitations need be implemented in methods, systems and/or apparatus including one or more concepts of the present invention.
The present invention can be realized in hardware, software, or a combination of hardware and software. A visualization tool according to the present invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system—or other apparatus adapted for carrying out the methods and/or functions described herein—is suitable. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods.
Computer program means or computer program in the present context include any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after conversion to another language, code or notation, and/or reproduction in a different material form. Thus the invention includes an article of manufacture which comprises a computer usable medium having computer readable program code means embodied therein for causing a function described above. The computer readable program code means in the article of manufacture comprises computer readable program code means for causing a computer to effect the steps of a method of this invention. Similarly, the present invention may be implemented as a computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing a a function described above. The computer readable program code means in the computer program product comprising computer readable program code means for causing a computer to effect one or more functions of this invention. Furthermore, the present invention may be implemented as a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for causing one or more functions of this invention.
It is noted that the foregoing has outlined some of the more pertinent objects and embodiments of the present invention. This invention may be used for many applications. Thus, although the description is made for particular arrangements and methods, the intent and concept of the invention is suitable and applicable to other arrangements and applications. It will be clear to those skilled in the art that modifications to the disclosed embodiments can be effected without departing from the spirit and scope of the invention. The described embodiments ought to be construed to be merely illustrative of some of the more prominent features and applications of the invention. Other beneficial results can be realized by applying the disclosed invention in a different manner or modifying the invention in ways known to those familiar with the art.
Number | Date | Country | Kind |
---|---|---|---|
2003-270818 | Jul 2003 | JP | national |