1. Field of the Invention
This invention is related to an Object Sharing and Scoring System (OSSS) that allows users to create, share and manipulate objects with a scoring system in a multi-user computing environment.
2. Description of the Related Art
While existing web publishing systems (e.g., traditional web publishing, blogs and social networking) have focused on users and content, this invention unifies them with the concept of “object” and provides a system with a new type of objects, namely “space”, in addition to “document” and “user”. The three types of objects interact with each other. A space is different from a simple folder or directory as it is an object that may contain other objects other than documents and spaces, i.e., members.
Specifically it allows users to create an object in a space, to specify the accessibility of an object by another object, to search objects, and to operate on an object in the space based on a scoring system.
In this invention the term “user” refers to a registered user unless otherwise specified.
For purposes of summarizing the invention, certain aspects, advantages and novel features of the invention have been described herein. It should be understood that not necessarily all such aspects, advantages or features will be embodied in any particular embodiment of the invention.
The following subsections describe an object sharing and scoring system that embodies various inventive features. The various inventive features can be implemented differently than described herein. Thus, the following description is intended only to illustrate, and not limit, the scope of the present invention.
The Object Sharing and Scoring System (OSSS) considers user, space and document as three basic and interacting classes of objects in a multi-user environment. It allows a user to create an object (document, space or member which is a user) within a space, specify its accessibility to other objects, to search objects, and to operate on an object in the space based on a scoring system.
The architecture of the OSSS system is shown in
In OSSS a (point) score is associated with each account, where the score is initialized to a certain value when the account is created. A space can include documents, other spaces and members (users). The spaces can be structured as a space hierarchy, which means a space can be created within a space. The root(s) of the space hierarchy is determined by the system administrator. Each space is identified by ,a sequence of spaces in the space hierarchy that connects a/the root to the space called an (absolute) path name of the space. The sequence of spaces may be separated by slashes (i.e., space-name/space-name/space-name/ . . . ) or some other symbols depending on the implementation.
An object created in a space is accessed by the (absolute or relative) pathname followed by the name of the object. Each user account in OSSS can be a space.
A user, once logged in, can navigate to any space in the space hierarchy, and use a relative path name (i.e., a sequence of spaces in the space hierarchy that connects the current space and the target space) to access a space.
In one embodiment of OSSS, for example, if user abc created a space g1 and created a space g13 within g1, the absolute path name for g1 is abc/g1, and the absolute path name for g13 is abc/g1/g13. After the user abc logs in, the user can use the relative space name g1/g13 to reference the space g13.
In another embodiment of OSSS each user account is a space of a root space called “users.” If user abc created a space g1 within his/her account and created a space g13 within g1, the absolute path name for g1 is users/abc/g1, and the absolute path name for g13 is users/abc/g1/g13.
The Object Definition Module can be accessed by a user to create an object or modify its definition within a space. The possible definitions include, but are not limited to, the following:
The Scoring Module accesses the definition of an object to determine its value or the value of an operation on the object. The Access Control Module determines the access right of a user on the object.
The Object Management Module, working with the Access Control Module and the Scoring Module, can be accessed by a user to perform various operations on an object within a space. The possible operations include, but are not limited to, the following:
A user may be allowed to propose a value to an object owned by another user and to propose a value to an access right of an object owned by the user. In this case the final value of an object or an access right is determined by the owner and the buyer based on negotiations.
One embodiment of the Object Management User Interface is shown in
One embodiment of space accessibility is defined by a combination of one or more access rights: (rp) read by other users, (wp) write by other users, (rwp) both read and write by other users, (ru) read by the user only, (wu) write by the user only, (rwu) both read and write by the user only, (rf) read by the members of the space only, (wf) write by the members of the space only, (rwf) both read and written by the members of the space only, etc.
One embodiment of document accessibility is defined as a combination of one or more access rights: (drp) read by other users, (dwp) write by other users, (drwp) both read and write by other users, (dru) read by the user only, (dwu) write by the user only, (drwu) both read and write by the user only, (drf) read by the members of the space only, (dwf) write by the members of the space only, (drwf) both read and write by the members of the space only, etc.
The Object Management Module works with the Access Control Module to determine the accessibility of an object (the first object) by another user (the second object) within a space. The accessibility is determined by a function that considers the accessibility of the two objects and the relationships among the three objects (including the space).
Assuming the first object is a document, one embodiment of the function is:
The Scoring Module keeps track of the total (point) score of each user in the user's account, where a user may be awarded some points when the user signs up as a registered user. A user can earn points via different operations that may be performed on an object.
In one embodiment of OSSS a user earns points via one of the following operations:
In another embodiment of OSSS points are deducted from a user via one of the following operations:
When an operation is performed on an object, the number of points corresponding to the value of the operation is deduced from the user who performs the operation and added to the user who owns the object. It is possible that the value of an operation is negative. In this case (e.g., a promotion) the points are deducted from the owner of the object and added to the user who performs the operation.