Abstract:
A method for updating a wallpaper for computer display, which operates on a server attached to a computer network. This method includes receiving a request from a client to fetch a wallpaper, and selecting the wallpaper from a collection of wallpaper based upon a personal profile of a user. It also includes retrieving the selected wallpaper, and sending the wallpaper across a network to the user on the client. In one embodiment of the present invention, the wallpaper is selected based upon a personal interest of the user. In a variation on the above embodiment, the client automatically requests new wallpaper at periodic time intervals, and also upon system initialization. Another embodiment of the present invention includes allowing the user to request an alternate wallpaper if the user does not care for the new wallpaper. Another embodiment includes registering a user for access to a collection of wallpapers for which there is restricted access. Another embodiment includes receiving a wallpaper from a user for insertion into a collection of wallpaper. Yet another embodiment includes receiving a complaint regarding the activities of a user, and in response to the complaint removing the registration of the user.

Description:
RELATED APPLICATION 
     The subject matter of this patent application is related to the subject matter in U.S. patent application Ser. No. 09/080,443, filed May 18, 1998, now U.S. Pat. No. 6,101,529, issued Aug. 8, 2000. 
    
    
     BACKGROUND 
     1. Field of the Invention 
     The present invention relates to distributed computer systems and graphical user interfaces. More particularly, the present invention relates to a system for updating a “wallpaper” for a graphical user interface by accessing a central repository for wallpaper over a network to update a wallpaper based upon personal preferences of a computer user. 
     2. Related Art 
     The advent of graphical user interfaces for computer systems has lead to the development of “wallpaper” for graphical displays. Wallpaper is typically a type of picture, graphical image or pattern used to customize a graphical user interface in an aesthetically pleasing way. In a window-based operating system such as Windows 95, produced by the Microsoft Corporation of Redmond, Wash., wallpaper often takes the form of a background picture or pattern over which windows can be opened or otherwise manipulated. Many computer users customize their background wallpaper with digitized family pictures or images relating to sports and current events. This gives computer users the ability to express their personality and interests. 
     At present, most computer system users use the default wallpaper bitmaps provided by operating systems such as Windows 95. Others retrieve bitmaps from a floppy drive, a CD-ROM drive, or from a publicly available source such as the Internet. In any of the above cases, a computer user must manually locate wallpaper images, transfer the images and reconfigure display options every time the wallpaper is changes. These tasks are time-consuming. Consequently, most computer users change wallpaper infrequently, if at all. 
     What is needed is a system that facilitates automatic updating of wallpaper with pictures tailored to specific interests of a computer user. Additionally, what is needed is a system that allows computer users with similar interests to share interesting wallpaper. 
     SUMMARY 
     One embodiment of the present invention provides a method for updating a wallpaper for computer display, which operates on a server attached to a computer network. This method includes receiving a request from a client to fetch a wallpaper, and selecting the wallpaper from a collection of wallpaper based upon a personal profile of a user. It also includes retrieving the selected wallpaper, and sending the wallpaper across a network to the user on the client. In one embodiment of the present invention, the wallpaper is selected based upon a personal interest of the user. In a variation on the above embodiment, the client automatically requests new wallpaper at periodic time intervals, and also upon system initialization. Another embodiment of the present invention includes allowing the user to request an alternate wallpaper if the user does not care for the new wallpaper. Another embodiment includes registering a user for access to a collection of wallpapers for which there is restricted access. Another embodiment includes receiving a wallpaper from a user for insertion into a collection of wallpaper. Yet another embodiment includes receiving a complaint regarding the activities of a user, and in response to the complaint removing the registration of the user. 
    
    
     DESCRIPTION OF THE FIGURES 
     FIG. 1 is a block diagram illustrating a distributed computing system including servers  102  and  106  with wallpaper databases  104  and  108 , respectively, in accordance with an embodiment of the present invention. 
     FIG. 2 is a diagram illustrating a portion of the internal structure of a website  200  including different sources for wallpaper in accordance with an embodiment of the present invention. 
     FIG. 3 is a diagram illustrating some of the functional components within server  102  from FIG. 1 in accordance with an embodiment of the present invention. 
     FIG. 4 is a diagram illustrating some of the functional components within client  110  from FIG. 1 in accordance with an embodiment of the present invention. 
     FIG. 5 is a diagram illustrating a possible structure of a personal profile  500  in user database  306  from FIG. 3 in accordance with an embodiment of the present invention. 
     FIG. 6 is a flow chart illustrating some of the steps involved in retrieving wallpaper for client  110  from server  102  in accordance with an embodiment of the present invention. 
     FIG. 7 is a flow chart illustrating some of the steps involved in registering client  110  on server  102  in accordance with an embodiment of the present invention. 
     FIG. 8 is a flow chart illustrating some of the steps involved in adding wallpaper to a database in accordance with an embodiment of the present invention. 
    
    
     DEFINITIONS 
     Client—a node on a computer network including computational capability and including a mechanism for communicating across the computer network. 
     Network—any communication channel through which computer systems can communicate with each other. This includes, but is not limited to, local area networks such as an Ethernet or a Token ring, and wide area networks such as the Internet. 
     Server—a node on a computer network including computational capability and usually data storage capability as well as a mechanism for servicing requests from a client for computational or data storage resources. 
     User Database—a database including information about computer system users. A user database may include interests of a user, and a record of previous accesses by the user. 
     Wallpaper—Any type of graphical image or pattern that can be used to customize a user interface for a computer system. This includes, but is not limited to backgrounds for window-based user interfaces and screen savers. Wallpaper may take the form of pictures, graphical images, patterns and possibly moving images. 
     Wallpaper Database—a database for storing wallpaper. 
     Website—a location on the Internet containing one or more screens of graphical images or text, and including a means for navigating through the screens. Websites typically contain links to other websites. 
     DETAILED DESCRIPTION OF THE INVENTION 
     The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein. 
     Description of Distributed Computing System 
     FIG. 1 is a block diagram illustrating a distributed computing system including servers  102  and  106  with associated wallpaper databases  104  and  108 , respectively, in accordance with an embodiment of the present invention. In the illustrated embodiment, servers  102  and  106  are coupled to network  100 . As defined above, a sever is a node on a computer network including computational capability and possibly data storage capability as well as a mechanism for servicing client requests for computational or data storage resources. Wallpaper databases  104  and  108  include collections of wallpaper to be accessed by clients  110 ,  114  and  118  across network  100 . Network  100  may be any communication channel through which computer systems can communicate. This includes, but is not limited to, local area networks, such as an Ethernet or Token ring, and wide area networks, such as the Internet. 
     Clients  110 ,  114  and  118  are coupled to network  100  through which they access servers  102  and  106 . A client, such as clients  110 ,  114  or  118  can be any node on a computer network including computational capability and including a mechanism for communicating across network  100 . Clients  110 ,  114  and  118  are operated by users  112 ,  116  and  120 . More specifically: client  110  is operated by user  112 ; client  114  is operated by user  116 ; and client  118  is operated by user  120 . A user is typically a human being operating an associated client computer system. 
     During operation of the system illustrated in FIG. 1, a client, such as client  110 , sends a request across network  100 , requesting a wallpaper from a server, such as server  102 . Server  102  selects the wallpaper from wallpaper database  104  based upon a personal profile of user  112 , and then transmits the wallpaper across network  100  to client  110 . Client  110  then displays the wallpaper for user  112  on a graphical user interface. 
     Description of Website 
     FIG. 2 is a diagram illustrating a portion of the internal structure of a website  200  including different sources for wallpaper in accordance with an embodiment of the present invention. In the embodiment illustrated in FIG. 2, the server side of the system is configured for access through a website  200 . Website  200  resides on server  102  and comprises a public space  202 , and a private space  204 . 
     In the illustrated embodiment, public space  202  contains portions of website  200 , which are generally accessible to the public across network  100 . Public space  202  generally contains publicly accessible text and images, which may include wallpaper. In the illustrated embodiment, this information is arranged into groups, including news  206 , sports  208  and community information  210 . These groups are periodically updated with new information through various inputs across network  100 , including news and weather input  212 , sports and recreation input  214  and community information input  216 . The above-described informational groups are presented as an example. Note that any other common grouping of publicly available data can be implemented in the same way. 
     In the illustrated embodiment, private space  204  contains portions of website  200 , which are not available to the public over network  100 . For purposes of illustration, two groups are shown within private space  204 , canoe club  218 , and family reunion  222 . Note that a wide variety of private groups of this type are possible. 
     These private groups are subject to restricted access, and website  200  includes a mechanism that implements such restricted access. In the illustrated embodiment, canoe club  218  includes member list  219 , which contains a list of the members that can access information from canoe club  218 . Similarly, family reunion  222  includes member list  223 , which contains a list of members that can access information from family reunion  122 . Any other commonly known scheme for controlling access to information can be used in place of member lists  219  and  223 . 
     Canoe club  218  includes pictures  220  and family reunion  222  includes pictures  224 . These pictures are added to their respective clubs by members or creators of the clubs. For example, client  110  is illustrated in FIG. 2 as both transmitting information to add to canoe club  218 , and receiving information from canoe club  218  for display as wallpaper on client  110 . Client  114  is illustrated as receiving information from family reunion  222  for display on client  114 . 
     Description of Server-Side Architecture 
     FIG. 3 is a diagram illustrating some of the functional components within server  102  from FIG. l in accordance with an embodiment of the present invention. In the illustrated embodiment, server  102  includes a number of functional modules. In one embodiment, these functional modules are implemented in software. However, special purpose hardware can also be used to implement the same functions. These functional components include registration mechanism  304 , website interface  302 , updating mechanism  308 , fetching mechanism  312 , user database  306  and picture database  310 . 
     Fetching mechanism  312  receives a request  316  from a client, such as client  110  from FIG. 1, and returns a file  314 . File  314  contains a wallpaper for display on client  110 . Upon receiving request  316 , fetching mechanism  312  references user database  306  to determine a personal profile for the user who generated the request. User database  306  may include a collection of personal profiles for various users of server  102 . A personal profile for a user can contain information on interests and affiliations of the user, and may additionally contain information on what items and areas the user has referenced in the past, as well as the user&#39;s security rights. Fetching mechanism  312  uses this personal profile to select a wallpaper from picture database  310 . Picture database  310  is a database that can contain wallpapers for access by clients. 
     Registration mechanism  304  receives a request  318  to register a user on server  102 . Registration mechanism can return an acknowledgement signal  320  acknowledging the registration, or a rejection signal  322  indicating that the registration request is rejected. Server  102  additionally includes updating mechanism  308 , which receives from a client either a picture to add to picture database  310 , or a request to create a group  324 . Users with a given security level are permitted to delete wallpapers, groups or members. Updating mechanism  308  next creates a new group on server  102 , or adds the picture to an existing group, so that the picture is stored in picture database  310 . 
     Website interface  302  allows a user to control the operation of registration mechanism  304 , fetching mechanism  312  and updating mechanism  308  by navigating through the various groups on server  102 . 
     Description of Client-Side Architecture 
     FIG. 4 is a diagram illustrating some of the functional components within client  110  from FIG. 1 in accordance with an embodiment of the present invention. In this embodiment, client  110  includes request mechanism  404 , registration mechanism  406 , updating mechanism  408  and user interface  402 . 
     Request mechanism  404  generates a request from client  110  to a server, such as sever  102 , to retrieve a wallpaper for a user  112  on client  110 . In response to this request, server  102  returns file  314 , which may include wallpaper. This wallpaper is outputted to display  410  for viewing by user  112  as part of a graphical user interface. 
     Updating mechanism  408  accepts a command from user  112  to add a picture or create a group on server  102 . It then sends a request  324  to server  102  across network  100  to add the picture or create the group. 
     Registration mechanism submits a request  318  to register with server  102 . This request may further specify a particular group on server  102  to register with. Registration mechanism  406  then receives either an acknowledgement signal  320  acknowledging the registration, or a rejection signal  322 . The above-described components within client  110  all operate under control of user interface  402 . User interface  402  allows user  112  to initiate and control the actions of request mechanism  404 , registration mechanism  406  and updating mechanism  408 . 
     Description of Personal Profile 
     FIG. 5 is a diagram illustrating a possible structure of a personal profile  500  contained in user database  306  from FIG. 3 in accordance with an embodiment of the present invention. Personal profile  500  contains information for a user of server  102 , such as user  112  on client  110 . In the illustrated embodiment, personal profile  500  contains a user ID, a list of topics, a list of clubs, a security list specifying security rights for the user and a history profile. The user ID includes an identifier to uniquely identify the user. The list of topics specifies particular interests or topics that the user has shown interest in. The security list specifies the user&#39;s rights to perform actions on various clubs. These actions can include adding users, deleting users and updating wallpapers. The history profile includes information regarding which items the user has accessed in the past to ensure that the user does not receive the same wallpaper twice. The history profile additionally includes information on which topics and interest areas the user has accessed in the past. This historical information can be used to select a wallpaper for the user. 
     Description of System Operation 
     FIG. 6 is a flow chart illustrating some of the steps involved in retrieving a wallpaper for a client  110  from a server  102  in accordance with an embodiment of the present invention. This flow chart is divided into two columns. The left-hand column represents the activities of client  110  and the right-hand column represents the activities of server  102 . The system starts in state  600  and proceeds to state  602 . 
     In state  602 , the client submits a request for wallpaper. This request may be generated in a number of ways: user  112  may initiate a request through user interface  402  (from FIG.  4 ); client  110  may automatically generate a request upon system startup; or client  110  may automatically generate a periodic request to refresh the wallpaper. The system next proceeds to state  604 . In state  604 , server  102  receives the request for the wallpaper; this request specifies the identity of a user  112  on client  110  that requested the wallpaper. The system next proceeds to state  606 . In state  606 , server  102  selects personal profile  500  for user  112  from user database  306  (from FIG.  3 ). Server  102  uses this personal profile to select a wallpaper for user  112  based upon personal profile  500 . The system next proceeds to state  608 . 
     In state  608 , server  102  retrieves the wallpaper from picture database  310  (from FIG.  3 ). In the embodiment illustrated in FIG. 3, picture database  310  resides within server  102 . In another embodiment, picture database  310  is distributed across network  100  (see FIG.  1 ). In this embodiment, server  102  reaches out across network  100  to retrieve the selected wallpaper. The system next proceeds to state  610  in which server  102  sends the retrieved wallpaper to client  110  across network  610 . The system next proceeds to state  612 . 
     In state  612 , client  110  receives the wallpaper from server  102 . The system next proceeds to state  614 . In state  614 , client  110  displays the wallpaper as part of a graphical user interface on display  410  (from FIG.  4 ). The system next proceeds to state  616 . In state  616 , client  110  determines if user  112  would like to change the newly displayed wallpaper. If so, the system returns to state  602  to repeat the process in order to retrieve an alternate wallpaper. If not, the system proceeds to state  618 , which is an end state. 
     FIG. 7 is a flow chart illustrating some of the steps involved in registering a new user  112  on a server  102  in accordance with an embodiment of the present invention. The system starts in state  700  and proceeds to state  702 . In state  702 , server  102  receives a connection from the new user  112  on client  110 . The system next proceeds to state  704 . In state  704 , registration mechanism  304  (from FIG. 3) within server  102  questions user  112  about particular interests of user  112 . This questioning process may involve multiple communications between client  110  and server  102  across network  100 . The system next proceeds to state  706 . In state  706 , registration mechanism  304  assembles a personal profile  500  for user  112  based upon responses of user  112  to the questioning. The system next proceeds to state  708 . In state  708 , the system allows user  112  to confirm information in personal profile  500  and to change any information that may be incorrect. The system next proceeds to state  710 . In state  710 , the system stores the personal profile  500  in user database  306  (from FIG.  3 ). At this point the registration process is complete. The system next proceeds to state  712 , which is an end state. 
     FIG. 8 is a flow chart illustrating some of the steps involved in adding wallpaper to a database in accordance with an embodiment of the present invention. The system starts in state  800  and proceeds to state  802 . In state  802 , client  110  (from FIG. 1) connects to server  102 . The system next proceeds to state  804 . In state  804 , client  110  displays a list of interests to user  112  on display  410  (from FIG.  4 ). In one embodiment, this list of interests is retrieved from server  102  across network  100 . The system next proceeds to state  806  in which client  110  receives a selection of an interest area from user  112 . The system next proceeds to state  808 . In state  808 , client  110  receives a selection of a file  314  from user  112 . The system next proceeds to state  810 , in which client  110  submits file  314  to server  102  across network  810 . The system, next proceeds to state  812 , which is an end state. Not shown in FIG. 8 are the actions of server  102  in adding file  314  to picture database  310 . These actions are described above with reference to updating mechanism  308  in FIG.  3 . 
     Conclusion 
     One embodiment of the present invention provides a system that facilitates automatic updating of wallpaper on a computer display with pictures that are of specific interest to the computer user. Additionally, the present invention allows computer users with similar interests to share interesting wallpaper. 
     The foregoing descriptions of embodiments of the invention have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art.