Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR MANAGING DIGITAL ASSETS
Document Type and Number:
WIPO Patent Application WO/2011/146696
Kind Code:
A1
Abstract:
This disclosure generally concerns management of digital assets, and in particular, computer-implemented method and system for managing digital assets. The method comprises receiving a search term from a first user; and determining a plurality of digital assets accessible by the first user. Each digital asset either has a direct relationship with the first user, or an indirect relationship with the first user via a second user sharing the digital asset with the first user. The method further comprises assigning a score to each digital asset based on relevance of the digital asset to the received search term, and the direct or indirect relationship between each digital asset and the first user. In another aspect, there is provided a computer program for implementing the method.

Inventors:
DE RUVO TONY (US)
Application Number:
PCT/US2011/037118
Publication Date:
November 24, 2011
Filing Date:
May 19, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GOGOBEANS INC (US)
DE RUVO TONY (US)
International Classes:
G06F7/00; G06F17/30
Foreign References:
US20090240680A12009-09-24
US20090132264A12009-05-21
US20080052328A12008-02-28
US20050028104A12005-02-03
US20020099694A12002-07-25
Attorney, Agent or Firm:
PEJIC, Nenad (Halter & Griswold LLP800 Superior Ave., Ste. 140, Cleveland OH, US)
Download PDF:
Claims:
Claims

1. A computer-implemented method for managing digital assets, the method comprising:

receiving a search term from a first user;

retrieving a plurality of digital assets accessible by the first user, wherein each digital asset either has a direct relationship with the first user, or an indirect relationship with the first user via a second user sharing the digital asset with the first user; and assigning a score to each digital asset based on relevance of the digital asset to the received search term, and the direct or indirect relationship between the digital asset and the first user.

2. The method of claim 1, wherein the direct or indirect relationship between the first user and each digital asset is represented by a bidirectional link comprising a first link from the first user to the digital asset, and a second link from the digital asset to the first user.

3. The method of claim 2, wherein the first link is associated with a first value, and the second link is associated with a second value, and the score of the retrieved digital asset depends on the first or second value, or both.

4. The method of claim 1, further comprising determining the relevance of the digital asset to the received search term based on whether the retrieved digital asset is full, partial or no match to the search term.

5. The method of claim 4, wherein the assigned score is proportional to the relevance of the digital asset to the search term

6. The method of claim 1, wherein the indirect relationship between the retrieved digital asset and the first user is additionally via at least one intermediate digital asset, the intermediate digital asset having a direct or indirect relationship with the first user.

7. The method of claim 6, wherein the assigned score is inversely proportional to the number of intermediate digital assets between the first user and the retrieved digital asset.

8. The method of claim 1, wherein the direct relationship between the first user and the retrieved digital asset represents the ownership of the digital asset by the first user.

9. The method of claim 1, wherein the plurality of digital assets may be retrieved from plural data stores located at plural geographical locations.

10. The method of claim 1, further comprising ranking the retrieved digital assets based on the assigned score and sending a list of ranked digital assets to the first user. 11. The method of claim 1, wherein the search term may be a name, description, file extension or meta data.

12. The method of claim 1, wherein the digital asset is one of the following: audio file, video file, text document, web bookmark, address book entry, contact details of a user, distribution list and private information.

13. The method of claim 1, wherein each digital asset is encapsulated as a digital object. 14. The method of claim 13, wherein further comprising performing one or more of the following operations:

creating the digital object based on a digital asset;

modifying properties of the digital object;

creating a relationship between a digital object and a user;

removing a relationship between a digital object and a user;

creating a relationship between two digital objects;

removing a relationship between two digital objects; and

allowing sharing of a digital object between two users. 15. The method of claim 14, wherein the operation is performed upon receiving a Representational State Transfer (REST) message from the user, the message comprising a noun specifying a digital object to be operated on and a verb specifying the operation.

16. Computer program comprising executable instructions recorded on a computer- readable medium, the program being operable to perform the method of claim 1.

17. A computer system for managing digital assets, the system comprising a processing unit to:

receive a search term from a first user;

retrieve a plurality of digital assets accessible by the first user, wherein each digital asset either has a direct relationship with the first user, or an indirect relationship with the first user via a second user sharing the digital asset with the first user; and assign a score to each digital asset based on relevance of the digital asset to the received search term, and the direct or indirect relationship between the digital asset and the first user.

Description:
System and Method for Managing Digital Assets Cross Reference to Related Applications

The present application claims priority from Australian Provisional Application No. 2010902199 and United States Provisional Application No 61/346,197, both filed on 19 May 2010 and the content of which is incorporated herein by reference. Technical Field

This disclosure generally concerns management of digital assets, and in particular, a computer-implemented method and a computer system for managing digital assets. In another aspect, there is provided a computer program for implementing the method. Background

Every day, millions of electronic device users create new digital assets such as files, documents, photos, videos, records, contact lists, web page bookmarks, email lists and blog posts. These digital assets are often stored on multiple hard drives, thumb drives, third party servers and social networking websites. As digital assets proliferate, users are faced with the challenge of managing the digital assets such that they can be accessed effectively in the future.

Summary

According to a first aspect, there is provided a computer-implemented method for managing digital assets, the method comprising:

receiving a search term from a first user;

retrieving a plurality of digital assets accessible by the first user, wherein each digital asset either has a direct relationship with the first user, or an indirect relationship with the first user via a second user sharing the digital asset with the first user; and

assigning a score to each digital asset based on relevance of the digital asset to the received search term, and the direct or indirect relationship between the digital asset and the first user.

The present method enhances searching by considering not only the relevance of a digital asset to the search term, but also how the digital asset is related to the user requesting the search. The present method takes advantage of users who are connected to each other to share digital assets, such as in a social networking environment.

The present method is to be contrasted with conventional keyword-based searching techniques that merely match the search term with a name, description or meta data of the digital asset. The present method is also to be contrasted with world wide web search techniques which primarily rely on the importance of a web document based on the number of incoming hyperlinks to a web document. Such techniques are generally inadequate to produce meaningful results.

The direct or indirect relationship between the first user and the retrieved digital asset may be represented by a bidirectional link comprising a first link from the first user to the retrieved digital asset, and a second link from the retrieved digital asset to the first user.

In this case, the first link may be associated with a first value, and the second link may be associated with a second value, and the score of the retrieved digital asset may depend on the first or second value, or both. The method may further comprises determining the relevance of the retrieved digital asset to the received search term based on whether the retrieved digital asset is full, partial or no match to the search term. In this case, the assigned score may be proportional to the relevance of the retrieved digital asset to the search term The indirect relationship between the retrieved digital asset and the first user may be additionally via at least one intermediate digital asset. In this case, the assigned score may be inversely proportional to the number of intermediate digital assets between the first user and the retrieved digital asset. The direct relationship between the first user and the retrieved digital asset may represent the ownership of the digital asset by the first user.

The plurality of digital assets may be retrieved from plural data stores located at plural geographical locations. The method may further comprise ranking the retrieved digital assets based on the assigned score and sending a list of ranked digital assets to the first user.

The search term may be a name, description, file extension or meta data.

The digital asset may be any digital information, including one of the following: audio file, video file, text document, web bookmark, address book entry, contact details of a user, distribution list and private information. Each digital asset may be encapsulated as a digital object.

The method may further comprise performing one or more of the following operations: creating the digital object based on a digital asset;

modifying properties of the digital object;

creating a relationship between a digital object and a user;

removing a relationship between a digital object and a user;

creating a relationship between two digital objects;

removing a relationship between two digital objects; and

allowing sharing of a digital object between two users.

The operation may be performed upon receiving a Representational State Transfer (REST) message from the user, the message comprising a noun specifying a digital object to be operated on and a verb specifying the operation. According to a second aspect, there is provided computer program comprising executable instructions recorded on a computer-readable medium, the program being operable to perform the method of the first aspect. The computer program may be embodied in a computer-readable medium such that when code of the computer program is executed, causes a computer system to implement the method.

According to a third aspect, there is provided a computer system for managing digital assets, the system comprising a processing unit to:

receive a search term from a first user;

retrieve a plurality of digital assets accessible by the first user from one or more data stores, wherein each digital asset either has a direct relationship with the first user, or an indirect relationship with the first user via a second user sharing the digital asset with the first user; and

assign a score to each digital asset based on relevance of the digital asset to the received search term, and the direct or indirect relationship between the digital asset and the first user.

Brief Description of Drawings

Non-limiting example(s) of the method and system will now be described with reference to the accompanying drawings, in which:

Fig. 1 is a schematic diagram of a computer system for managing digital assets.

Fig. 2 is a diagram of connections between users and digital assets.

Fig. 3 is the diagram in Fig. 2, with connection values assigned to the connections between users and digital assets.

Fig. 4 is a flowchart of steps for managing digital assets.

Fig. 5 is a schematic diagram of a logical architecture of the system in Fig. 1.

Fig. 6 is an exemplary screenshot for creating a digital object.

Fig. 7(a) is an exemplary screenshot for setting the privacy level of a digital object.

Fig. 7(b) is an exemplary screenshot for setting other attributes of a digital object.

Detailed Description

Referring first to Fig. 1, a computer system for managing digital assets 100 comprises a server 110 in communication with a plurality of user equipment 140, service provider servers 150 (one shown for simplicity) and third party data stores 160 (one shown for simplicity) over a wide area communications network 130.

Each user equipment 140 is operated by a user 142 who is generally a subscriber of a mobile service provider. For example, a user equipment 140 may be a mobile device or computer connected to a third generation (3G) mobile communications system, Wireless Local Area Network (WLAN), Asymmetric Digital Subscriber Line (ADSL) network, Worldwide Interoperability for Microwave Access (WiMax) network or a Long Term Evolution (LTE) mobile network. Users 142 own multiple digital assets 144, which can be searched no matter where the assets are stored. For example, a digital asset 144 may be stored on: a local hard drive (not shown) of a user equipment 140, on a cloud on a remote data store 120 and 160, behind a company's intranet (not shown), on a third party server 150, on the Internet or on a backup drive. A digital asset may be a data file, video file, audio file, web page URL, web page bookmark, electronic business card such as vCard, email, distribution list and address book entry.

An Application Programming Interface (API) 114 at the server 110 is operable to deliver services relating to management of digital assets to the users 142. A web portal 152 hosted on the third party server 150 acts as an intermediary between the user equipment 140 and an API 114 at the server 110. User equipment 140 can connect also directly with the API. Digital Assets and Users

Referring now to Fig. 2, the system 100 allows digital assets to be accessed using a single interface, independent of the type of the assets. Users 142 individually own a plurality of digital assets. Bi this example, User A and User B each have four digital assets while User C only has two. Ownership is represented by a direct relationship between the user and each owned digital asset.

The following summarises the digital assets owned by the users.

Unlike a conventional folder system that employs a hierarchical tree structure, a digital asset can be simultaneously connected to an unlimited number of other digital assets and users. For example, digital asset b is related to assets a and d. This relationship is represented by a direct relationship between the assets b and a; and b and d The action of connecting one digital asset with one or other digital assets is known as "relating", but it will be appreciated that other similar terms may be used to describe the action. In this system, users 142 who are connected are able to share digital assets with each other. This is particularly relevant in the social networking field where users are connecting with each other to share digital assets or to collaborate on a project, while at the same time maintaining privacy from non-connected users.

For example, User B shares digital assets e, g and h with User A, as represented by dotted links from these assets to User A in Fig. 2. The number of digital assets accessible by User A is therefore 7 in total. In this case, digital assets e, g and h are said to have an indirect relationship with User A via User B. User C also shares digital assets / and m with User B. Since User A is not connected with User C, digital assets / and m are not accessible by User A.

Once digital assets are shared, a user 142 can set up connection or relationship between owned digital assets and those shared by other users. For example, User A can connect digital asset c (owned by A) with digital assets e and g (owned by User B). For example, digital asset e may be a spreadsheet that both User A and User B are working on in a project. Digital asset g may be a product brochure while digital asset c is a business plan document. Referring now to Fig. 3, each connection between a digital asset and a user, or between two digital assets is associated with a connection or relationship value assigned by the processing unit 114. The connection value is then used by the processing unit 114 to assign a score to the digital assets during a search. For each connection created by a user, the processing unit 114 automatically creates a bidirectional link between the user and a digital asset, or between two digital assets.

A first link with connection value of 1 represents a connection created by the user. A second link in the reverse direction to the first link is assigned a connection value of 2. For example, consider User A attaching or connecting digital asset b with assets a and d. In this case, the processing unit 114 creates a first link with value 1 from digital asset b to digital asset a, and from b to d, and a second link of value 2 from digital assets a and d to digital asset b. Similarly, a first link with value 1 is created from digital asset g to h for User B, and a reverse link of value 2 from digital asset h to g. In another example, User B shares digital assets e, g and h with User A, who has connected digital asset c to g and e. A first link of value 1 is created from digital asset c of User A to digital assets e and g respectively. A second link of value 2 is created from digital assets e and g to digital asset c of User A. Bidirectional links between User A and digital assets e, g and h are also created.

It will be appreciated that although values 1 and 2 have been used, any arbitrary numbers can be used to represent the bidirectional links between two digital assets or between a user and a digital asset.

It will be appreciated that a bidirectional link between two digital assets (as described) is distinguishable over hypertext links that merely provide one directional flow from a web page document having a hypertext link to another web page document being linked. For example, if Page A has a hypertext link to Page B and Page C has a hypertext link to Page B, Page B would not know that Pages A and C are linked to it. Disadvantageous^, a search would not be able to leverage off the fact that Pages A and C are linked to Page B.

It will be appreciated that the bidirectional links are also distinguishable over conventional hierarchical folder system where a file can only be placed within one folder only rather than simultaneously in multiple folders. If a file is related to two folders, a copy of the file must be stored on the second folder. Similarly, a search would not be able to leverage off the relationship between multiple files. Searchin

The relationships between the digital assets and the users, as defined by the bidirectional links and associated connection values, are relied upon by the processing unit 114 during searches. Referring now to Fig. 4, the processing unit 114 first receives a search term from a user equipment 140 operated by a user 142; see step 410. Upon receiving the search term from the user, the processing unit 114 retrieves or determines a plurality of digital assets accessible by the user; see step 420 in Fig. 4. The digital assets may be owned by the user or shared by another user. The term "retrieving" as used herein means, but not limited to, the processing unit 114 simply determining a list of digital assets accessible by the user or obtaining them from the data store 120. Using the example shown in Fig. 2 and Fig. 3, assume that User A and User B are both lawyers in a large legal battle. The following table summarises the digital assets accessible by User A.

In this example, User A is searching for the latest term sheet document for ACME Corporation. In traditional intrinsic search based on the asset name or description only, the search term "ACME term sheet" or "ACME" AND "term sheet" would yield a null result because an exact, full match cannot be found. The search term "term sheet" will yield digital asset h, but its relevance is unknown because "ACME" does not appear in the asset description at all. Searches that rely upon relevancy according to the frequency of the number of times "time sheet" appears in a digital asset would not be useful. Neither are searches that rely upon the popularity of digital assets based on the number of incoming links to a digital asset.

In step 430 in Fig. 4, the processing unit 114 assigns a score or ranking number to the retrieved digital assets based on the relevance of the digital assets to the search term and the connections between the digital assets.

More specifically, there are two components to the score assigned to a digital asset:

The first component depends on the relevance of the digital asset to the search term. A score of +2 is assigned to a full match, +1 to a partial match and 0 to an unsuccessful match. The score is proportional to the relevance of the digital asset.

The second component depends on whether the digital asset directly belongs to the user, or indirectly via one or more digital assets that belong to the user. The more indirect a digital asset is connected to a user, the less relevant it is perceived to be. As such, in one example, the score is calculated as follows:

Score = (Full match or Partial match) + Relationship value where, for example, "Full match" has a score of +2 and "Partial match" has a score +1, both representing the relevance of the digital asset to the search term. The last component is a value that depends on whether the digital asset directly or indirectly related to the user. For example, a direct connection from an owned digital asset to a user has a score of 0, whereas an indirect connection from a shared digital asset to User A has a score that is inversely proportional to∑ ranking no of connected digital asset, as exemplified with the number of intermediate digital assets (e.g. g and c for h) between User A and the shared asset (e.g. h) below.

The scores assigned to the digital assets are as follows:

For digital asset c labelled with "Contract with ACME", the processing unit 114 determines whether there is a full or partial match with search term "ACME term sheet". The processing unit 114 assigns a score of +1 to digital asset c due to its partial march to the search term. For digital asset g, its asset description does not match with the search term "Contract with ACME" at all. The score of digital asset g is 1/2 or 0.5 due to its connection to User A via digital asset c; see Figs. 2 and 3. Digital asset h is a partial match, gaining a score of +1. Since digital asset h is connected to User A via digital assets g and c, a value of 1/(2+2) or 0.25 is assigned to it; see also Fig. 3. The total score of digital asset h is therefore 1.25, which is the highest. User A may have no knowledge of the connection between c, g and h but the processing unit 114 does.

Although none of the digital assets match with the search term of "ACME term sheet", the processing unit 114 assigns the highest score to digital asset h because of its partial match to the search term, and its connection to digital asset c, which is another partial match.

Referring to Fig. 4 again, the processing unit 114 then ranks the digital assets a to g according to the assigned scores, with the highest score ranked first; see step 440.

The search results, that is a list of the ranked digital assets, are then sent to the user; see step 450.

Digital Objects

In one embodiment, digital assets are encapsulated as stand alone digital objects. The encapsulation as a digital object allows digital assets to be stored, accessed and processed by the server 110 independent of their type. A digital object will also be referred to as a "bean". Referring to the exemplary and non-limiting interfaces in Fig. 6, Fig. 7(a) and Fig. 7(b), each digital object has the following properties or features:

Name - Asset name entered by a user-creator; see 605 in Fig. 6.

Description - Description entered by the creator; see 610 in Fig. 6.

Keywords - Keywords related to the digital object; see 615 in Fig. 6,

Photo (optional) - A thumbnail photo can be uploaded to represent the digital object on a user interface; see 620 in Fig. 6. Standard proportion for images is 640x480 and 90x68 pixels.

Digital asset - An asset may be any digital information such as a file; see 625 in Fig. 6.

Privacy level - Public, members only, VIP or private (default); see 712 in Fig.

7(a).

Approve connections - Allows the creator to approve pending connections to the digital object. Provides a secondary security level to manage connections to the object; see 714 in Fig. 7(a).

Bounce once - allows the creator to limit sharing of the digital object to one occurrence.

Mail conversation - Allows users that connect to this digital object the ability to send an internal mail to the creator of the bean; see 722 in Fig. 7(a)..

Add to search catalogue - Allows the creator to place the digital object in a public searchable catalogue. Default setting is disabled; see 724 in Fig. 7(a)..

Allow user comments - Includes a comment area to allow comments on a digital object; see 726 in Fig. 7(a).. The four privacy options in Fig. 7(a) are as follows:

Public - anyone can view the contents of this digital object and non-registered users. Digital objects that are given this privacy level are exposed to public searches and random display in the Hot Beans and Most Recent sections of a Web Portal.

Members only - any registered user can view this digital object. Users who are not registered or logged in will get a "Your are unauthorized to view this object" message.

VIP - Digital objects can only be viewed by connected users only.

Private - Digital objects are only viewable by the creator of the digital object. Logical Architecture

Fig. 5 shows an exemplary logical architecture of the system 100. An Application Programming Interface (API) 112 at the server 110 is operable to deliver services relating to management of digital assets to the users 142. The API 112 provides a flexible interface to the underlying services via Plain Old XML (POX). The term POX describes basic XML, which can be contrasted with complicated multilayered XML specifications used by other Web Services such as SOAP and RDF. POX is an information format style. A web portal 152 hosted on the third party server 150 acts as an intermediary between the user equipment 140 and an API 112 at the server 110. The web portal 152 packages a service request received from the user equipment 140 into a Plain Old XML (POX) request message, which is then sent to the processing unit 114 for further processing. When a POX reply message is received from the server 110 in response to the request message, the web portal 152 serializes or breaks up the reply message, and displays the associated content to the user 140.

The web portal also interacts with the API 112 to deliver services or content not associated with a specific user such as Buzz Events and publicly visible digital assets. Any user equipment 140 capable of processing HTML or POX may connect directly to the API 114 to receive content after an initial user authentication.

The following table describes in brief exemplary data flows between the web portal 152 and the API 112 at the server 110.

Operation Web Portal 152 API 112

User Registration Collects and validates user The API 112 will create a

registration data "User" digital object and

provide confirmation to the Web Portal 152. The newly created User will not be able to login until the Web Portal 152 confirms that the new User's email address is valid.

User Email The service provider optionally The API 114 will unblock the Address conducts a dialog via email with User and logins will be Confirmation the new user requesting that accepted with the correct email they click a link to confirm then- and password.

email address. Alternatively, the

Service Provider can bypass this

step and just confirm the User to

enable the account.

User Login The Web Portal allows the User The API authenticates the User to login via a form, passing the and returns an API Key for use entered details via XML to the in all digital asset-related API transactions associated with the

User.

API Key Storage The Web Portal stores the API

key in a session variable or

cookie.

API Key The API will expire the User's Expiration API Key at regular intervals, notifying the Web Portal of the expiration of the API Key on any subsequent transactions

API Key Renewal Upon expiration of the API key, The API will provide a new the Web Portal must obtain a Key after a successful login fresh API key by repeating the

login procedure above.

Buzz Events, The Web Portal should The API will respond to the list Notifications and periodically request lists of requests with the requested Lists (Hot, Buzz Events, Notifications and information.

Highest Rated) Digital objects from the API.

Ideally, this should be done in

conjunction with AJAX to give

the Web Portal a 'living'

appearance without page

reloads.

Contacts The Web Portal should request The API will respond with a the User's contacts whenever current contact list containing necessary - such as when entries for User's currently displaying a form to allow the connected Users, Group Beans, User to Bounce a Bean Contact Beans and Distribution

List Beans

Digital Object The Web Portal should pass on The API will respond with

Related to the API any requests by the success or error information,

Operations User related to digital objects together with instructions on such as: creating, editing, next steps to complete a deleting, "bouncing", transaction.

connecting, and disconnecting

The API will also provide email notifications to effect these operations in connection with Users not registered with the API.

Inter User The Web Portal should pass on The API will respond to these Operations to the API any requests by the requests in the same way as

User related to other Users such digital object related operations as: Connecting, Disconnecting, above.

Comments

User registration and login are conducted over secure HTTP and protected with SHA hexidigest encryption. The API 112 provides additional layers of security relevant to the service provider acting as an intermediary between the users 142 and the server 110. The security includes HTTP Digest Authentication. The API 112 will require all communications to be conducted over the Secure Sockets Layer via HTTPS for added security against man-in-the-middle or impersonation attacks.

The API 112 uses POX in conjunction with Representational State Transfer (REST). REST is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The API 112 is a RESTful system, meaning that all functions offered by the server 110 are accessible via a simple set of verbs operating on a rich set of nouns. These two technologies are blended to make integration and use as simple as possible.

For example, to connect to a file digital object that has been connected to a user, an XML message containing the necessary details would be sent via HTTPS POST to:

https://api.domain.name/noun/verb.xml or https://api.domain.name/noun/verb/id.xml

Noun represents a digital object to be operated on, verb represents a noun-dependent operation and id represents the specific identifier of the digital object. A summary of the nouns and verbs in use by the API 114 is as follows:

A user component of the API 112 allows for user management, authentication and inter-user interactions. Using the following RESTful verbs, the user component facilitates the creation of new users and their corresponding profile information, the confirmation of users after validation of their email address, the modification of existing users through profile updates and password changes; the deletion of users; user login; inter-user connection requests; automatic inter-user connection; rejection of inter-user connection requests; approval of inter-user connection requests; blocking of connecting users; and disconnection from other users.

Verbs Remark

Create Sending a formatted XML message containing User information will create a new user. Mandatory fields in the XML message include: the user's email address and password. The new user will not be able to login until the User's email address is subsequently confirmed. If successful, the API 112 will send a message containing the user information echoed back in full.

Confirm Sending a formatted XML message to the API 112 containing a valid User ED will confirm that the user's email is valid and allow the user to login.

Login Sending a formatted XML message to the API 112 containing a valid email address and password combination will login a confirmed user. In response, the API 112 will return a user ID and session key pair.

Verify Sending a formatted XML message to the API 112 containing a user ID and session key pair to a user will return the validity of the session. If an active session for the user associated with the ID exists, it will be refreshed and timeout reset.

Display Sending a formatted XML message containing a User ID and session key pair to users/display will return the full User and Profile information for the User.

Index Sending a formatted XML message containing a User ID and session key pair to Users/display will return the full User and Profile information for the User.

Modify Sending a formatted XML message containing a User ID and session key pair to Users/display will return the full User and Profile information for the User.

Destroy Sending a properly formatted XML message containing a User ID and session key pair to users/destroy will delete the User and all associated information.

Connect The Users/connect verb connects two users. Some users may be configured to automatically accept connection requests. Connect attempts to complete an automatic connection if one is possible, otherwise a failure code prompting a connection request will be returned.

Requestconnection The Users/requestconnection verb sends a connection request from one user to another.

Acceptconnection The Users/acceptconnection verb accepts a connection request from one user to another that has been initiated with the User/requestconnection verb.

Blockconnection The Users/blockconnection verb accepts a connection request from one user to another that has been initiated with the User/blockconnection verb.

Disconnect Disconnects two users.

The Notification component provides information about events specific to a given user. Notifications are typically generated by connection related activities between users and their digital objects. The web portal 152 connected to the API 112 should routinely poll the API for notifications associated with the user. The Notification noun provides two verbs:

Web Bookmark beans or digital objects can store the address of any online resource, such as a website, blog or video on a shared data store. The bean stores a website address or URL. Once a URL or address of the online resource is saved, the digital object can be the subject of any verbs such as Bouncing. A Web Bookmark Bean can be the subject of the following actions:

Verbs Remark

Create Sending a formatted XML message containing object-specific information to the following will create a new digital object https://api.domain.name/web bookmark/create.xml. Data fields for a digital object include name; description; URL of a photo for the object; boolean value allow-comments to indicate whether the object can receive comments; boolean value allow-mailthread to indicate whether the object can be access by internal API 112; boolean value moderated to indicate whether the object is moderated; boolean value searchable to indicate whether the object can be the subject of searches and share level, which may be public, members only, VIP and private.

Modify Sending a formatted XML message containing object-specific information to the following will modify the digital object identified by N: httDs://api.domain.name/web boolanarlc/modifv N.xml.

Display Sending a formatted XML message containing the required user, session and digital object identification information to https://api.domain.name/web bookmark/displav/N.xml, will displav a digital object.

List Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/web bookmark/list.xml, along with some options, will return a list of digital objects associated with the requesting user. Options are available to control the length and content of the list, including the maximum number of records returned, and a brief or complete field listing.

Related Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/web bookniark/related.xml, will return a list of connectors associated with the specified digital object owned by the requesting user.

Bounce Bouncing a digital object is essentially sharing the object with other users. Digital objects can be bounced to users registered on the API 112 as users or external email addresses. Sending a formatted XML message containing the required User, Session and digital object identification information to https://api.domain.name/web bookmark/bounce.xml, will cause the digital object to be shared. The API 112 will also generate emails for external users and notifications for users and group to which the bouncing user is connected.

Connect In order to utilise a digital object, a user must connect to the object.

Sending a formatted XML message containing the requisite user, session and target object information to (where N is the Id of the bean will attempt to establish a connection between the user and the target object) https://api.domain.name/web bookmark/cormect/N.xml. The share level of the target object is an important factor in determining whether a connection will be established. If the target object has a share level that does not allow access to the class of users to which the requesting user belongs, then the connect request will fail.

Disconnect Once a user and a digital object are connected, the digital object will appear in lists of digital objects requested by the user. To remove a digital object from these lists, the user will send a disconnect message to: https://api.domain.name/web bookmarl disconnect/N.xml, where N is the Id of the bean

Couple This function attempts to establish connection between two digital objects, rather than a user and a digital object. A couple message must be sent to https://api.domain.name/web bookmark/couple/N.xml, where N is the ID of the digital object.

Uncouple This function attempts to disconnect a connection between two digital objects, rather than a user and a digital object. A couple message must be sent to (where N is the ID of the digital object):

https://api.domain.name/web bookmark uncouple/N.xml,.

Card beans or digital objects allow a user to save private information, such as for bank accounts, passwords or credit cards. The share level of a card bean is always set to private such that it is not accessible by other users without permission from the owner.

Verbs Remark

Create Sending a formatted XML message containing object-specific information to the following will create a new digital object https://api.domain.name/card/create.xml. The data fields include account number; an expiration date; phone number; security code and any other important information.

Modify Sending a formatted XML message containing object-specific information to the following will modify the digital object identified by N: https://aDi.domain.name/card/modifv/N.xml.

Display Sending a formatted XML message containing the required user, session and digital object identification information to https://api.domain.name/card/displav/N.xml, will displav a digital object.

List Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/card/list.xmL alon with some options, will return a list of digital objects associated with the requesting user. Options are available to control the length and content of the list, including the maximum number of records returned, and a brief or complete field listing.

Related Disabled

Bounce Disabled

Connect Disabled

Disconnect Disabled

Couple Disabled

Uncouple Disabled

Contact Beans are digital objects that allow a user to save contact details for an individual, company or other organisation. Once a Contact Bean has been saved, it will appear in a Contact List and can be subject to operations on a digital object.

Verbs Remark

Create Sending a formatted XML message containing object-specific information to the following will create a new digital object https://api.domain.name/contact/create.xml.

The data fields of a contact bean include name (first, last and middle); title; company; department; phone numbers (office, home, fax, mobile); email address; street address; web page; birth date and any instant messaging or social networking application login ID. Modify Sending a formatted XML message containing object-specific information to the following will modify the digital object identified by N:

https :// api. domain .name/contact/modify/N.xml .

Display Sending a formatted XML message containing the required user, session and digital object identification information to https://api.domain.name/contact/displav/N.xml, will display a digital object.

List Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/contact/list.xml, alon with some options, will return a list of digital objects associated with the requesting user. Options are available to control the length and content of the list, including the maximum number of records returned, and a brief or complete field listing.

Related Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/contact/related.xml, will return a list of connectors associated with the specified digital object owned by the requesting user.

Bounce Bouncing a digital object is essentially sharing the object with other users. Digital objects can be bounced to users registered on the API 112 as users or external email addresses. Sending a formatted XML message containing the required User, Session and digital object identification information to https://api.domain.name/coiitact/bounce.xml, will cause the digital object to be shared. The API 112 will also generate emails for external users and notifications for users and group to which the bouncing user is connected.

Connect In order to utilise a digital object, a user must connect to the object.

Sending a formatted XML message containing the requisite user, session and target object information to https://api.domain.name/contact/connect/N.xml, where N is the Id of the bean will attempt to establish a connection between the user and the target object. The share level of the target object is an important factor in determining whether a connection will be established. If the target object has a share level that does not allow access to the class of users to which the requesting user belongs, then the connect request will fail.

Disconnect Once a user and a digital object are connected, the digital object will appear in lists of digital objects requested by the user. To remove a digital object from these lists, the user will send a disconnect message to:

https://api.domain.name/contact/disconnect/N.xml, where N is the ID of the digital object.

Couple This function attempts to establish connection between two digital objects, rather than a user and a digital object. A couple message must be sent to https://api.domaiii.name/contact/couple/N.xml, where N is the ID of the digital object.

Uncouple This function attempts to disconnect a connection between two digital objects, rather than a user and a digital object. A couple message must be sent to

https://api.domain.name/contact/uncouple/N.xml, where N is the ID of the digital object.

Distribution list beans or digital objects allow a user to amalgamate collections of contact beans or digital objects. Once a distribution list has been saved, it will appear in the contact list of a user and can be subject to regular operations.

Verbs Remark

Create Sending a formatted XML message containing object-specific information to the following will create a new digital object https://api.domain.name/dist list/create.xml. Data fields for a digital object include name; description; URL of a photo for the object; boolean value allow-comments to indicate whether the object can receive comments; boolean value allow-mailthread to indicate whether the object can be access by internal API 112; boolean value moderated to indicate whether the object is moderated; boolean value searchable to indicate whether the object can be the subject of searches and share level, which may be public, members only, VIP and private.

Modify Sending a formatted XML message containing object-specific information to the following will modify the digital object identified by N:

https://api.domain.name/dist list/modifv N.xml. Display Sending a formatted XML message containing the required user, session and digital object identification information to https://api.domain.name/dist list/displav/N.xml, will display a digital object.

List Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/dist list/list.xml, along with some options, will return a list of digital objects associated with the requesting user. Options are available to control the length and content of the list, including the maximum number of records returned, and a brief or complete field listing.

Related Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/dist list/related.xml, will return a list of connectors associated with the specified digital object owned by the requesting user.

Bounce Bouncing a digital object is essentially sharing the object with other users. Digital objects can be bounced to users registered on the API 112 as users or external email addresses. Sending a formatted XML message containing the required User, Session and digital object identification information to https://api.domain.name/dist list/bounce.xml, will cause the digital object to be shared. The API 112 will also generate emails for external users and notifications for users and group to which the bouncing user is connected.

Connect In order to utilise a digital object, a user must connect to the object.

Sending a formatted XML message containing the requisite user, session and target object information to https://api.domain.name/dist list/connect/N.xml, where N is the Id of the bean will attempt to establish a connection between the user and the target object. The share level of the target object is an important factor in determining whether a connection will be established. If the target object has a share level that does not allow access to the class of users to which the requesting user belongs, then the connect request will fail.

Disconnect Once a user and a digital object are connected, the digital object will appear in lists of digital objects requested by the user. To remove a digital object from these lists, the user will send a disconnect message to:

https://api.domain.name/dist list/disconnect/N.xml, where N is the Id of the bean

Couple This function attempts to establish connection between two digital objects, rather than a user and a digital object. A couple message must be sent to https://api.domain.name/dist list/couple/N.xml, where N is the ID of the digital object.

Uncouple This function attempts to disconnect a connection between two digital objects, rather than a user and a digital object. A couple message must be sent to

https://api.domain.name/dist list/uncouple/N.xml, where N is the ID of the digital object.

Group beans or digital objects allow a user to amalgamate collections of registered users. Once a group bean has been created, it will appear in the contact list of the user and can be subjected to regular operations to a digital object.

Verbs Remark

Create Sending a formatted XML message containing object-specific information to the following will create a new digital object https://api.domain.name/group/create.xml.

Modify Sending a formatted XML message containing object-specific information to the following will modify the digital object identified by N: https://api.domain.name/group/modifv/N.xml.

Display Sending a formatted XML message containing the required user, session and digital object identification information to https://api.domain.name/Rroup/displav/N.xml, will display a digital object.

List Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/group/list.xml, along with some options, will return a list of digital objects associated with the requesting user. Options are available to control the length and content of the list, including the maximum number of records returned, and a brief or complete field listing.

Related Sending a formatted XML message containing the required User, Session and digital object identification information to https://api.domain.name/group/related.xml, will return a list of connectors associated with the specified digital object owned by the requesting user.

Bounce Bouncing a digital object is essentially sharing the object with other users. Digital objects can be bounced to users registered on the API 112 as users or external email addresses. Sending a formatted XML message containing the required User, Session and digital object identification information to https://api.domain.name/Rroup/bounce.xml, will cause the digital object to be shared. The API 112 will also generate emails for external users and notifications for users and group to which the bouncing user is connected.

Connect In order to utilise a digital object, a user must connect to the object.

Sending a formatted XML message containing the requisite user, session and target object information to https://api.domain.name/Rroup/connect/N.xml, where N is the Id of the bean will attempt to establish a connection between the user and the target object. The share level of the target object is an important factor in determining whether a connection will be established. If the target object has a share level that does not allow access to the class of users to which the requesting user belongs, then the connect request will fail.

Disconnect Once a user and a digital object are connected, the digital object will appear in lists of digital objects requested by the user. To remove a digital object from these lists, the user will send a disconnect message to (where N is the Id of the bean):

ht1n3s://api.domain.nmne/giOiip/disconnect/N.xml,

Couple This function attempts to establish connection between two digital objects, rather than a user and a digital object. A couple message must be sent to https://api.domain.name/group/couple/N.xml, where N is the ID of the digital object.

Uncouple This function attempts to disconnect a connection between two digital objects, rather than a user and a digital object. A couple message must be sent to (where N is the ED of the digital object):

https://api.domain.name/group/uncouple/N.xml,. Address book beans or digital objects allow a user to amalgamate a collection of contact beans. The following are RESTful verbs that can be used to manipulate the digital objects.

Verbs Remark

Create Sending a formatted XML message containing object-specific information to the following will create a new digital object https://api.domain.name/address book/create.xml.

Modify Sending a formatted XML message containing object-specific information to the following will modify the digital object identified by N:

https://api.domain.name/address book/modify/N.xml.

Display Sending a formatted XML message containing the required user, session and digital object identification information to https://api.domain.name/address book/displav/N.xml, will display a digital object.

List Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/address book/list.xml, along; with some options, will return a list of digital objects associated with the requesting user. Options are available to control the length and content of the list, including the maximum number of records returned, and a brief or complete field listing.

Related Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/address book/related.xml, will return a list of connectors associated with the specified digital object owned by the requesting user.

Bounce Bouncing a digital object is essentially sharing the object with other users. Digital objects can be bounced to users registered on the API 112 as users or external email addresses. Sending a formatted XML message containing the required User, Session and digital object identification information to https://api.domain.name/address book/bounce.xml, will cause the digital object to be shared. The API 112 will also generate emails for external users and notifications for users and group to which the bouncing user is connected. Connect In order to utilise a digital object, a user must connect to the object. Sending a formatted XML message containing the requisite user, session and target object information to https://api.domain.name/address book/connect/N.xml, where N is the Id of the bean will attempt to establish a connection between the user and the target object. The share level of the target object is an important factor in determining whether a connection will be established. If the target object has a share level that does not allow access to the class of users to which the requesting user belongs, then the connect request will fail.

Disconnect Once a user and a digital object are connected, the digital object will appear in lists of digital objects requested by the user. To remove a digital object from these lists, the user will send a disconnect message to (where N is the Id of the bean):

https://api.domain.name/address boolc/disconnect N.xml,

Couple This function attempts to establish connection between two digital objects, rather than a user and a digital object. A couple message must be sent to (where N is the ID of the digital object): https://api.domain.name/address book/couple/N.xml,.

Uncouple This function attempts to disconnect a connection between two digital objects, rather than a user and a digital object. A couple message must be sent to (where N is the ID of the digital object):

https://api.domain.name/address book/uncouple/N.xml.

File beans or digital objects allow a user to upload a file, such as to store the file in data store 120 or 160 such that the file can be accessed from anywhere and easily shared through "bouncing". The following are RESTful verbs that can be used to manipulate

Verbs Remark

Create Sending a formatted XML message containing object-specific information to the following will create a new digital object https://api.doinain.name/file/create.xml. Data files include content-tvpe; URL of the file; URL of a thumbnail representing the file; size; width (for image files) and height (for image files).

Modify Sending a formatted XML message containing object-specific information to the following will modify the digital object identified by N:

httos://api.domain.name/file/modifv/N.xml.

Display Sending a formatted XML message containing the required user, session and digital object identification information to https://api.domain.name/file/disDlav/N.xml, will display a digital object.

List Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/file/list.xml, alone with some options, will return a list of digital objects associated with the requesting user.

Related Sending a formatted XML message containing the required User,

Session and digital object identification information to https://api.domain.name/file/related.xml, will return a list of connectors associated with the specified digital object owned by the requesting user.

Bounce Bouncing a digital object is essentially sharing the object with other users. Digital objects can be bounced to users registered on the API 112 as users or external email addresses. Sending a formatted XML message containing the required User, Session and digital object identification information to https://api.domain.name/file/bouiice.xml, will cause the digital object to be shared. The API 112 will also generate emails for external users and notifications for users and group to which the bouncing user is connected.

Connect In order to utilise a digital object, a user must connect to the object.

Sending a formatted XML message containing the requisite user, session and target object information to https://api.domain.name/file/connect/N.xml, where N is the Id of the bean will attempt to establish a connection between the user and the target object. The share level of the target object is an important factor in determining whether a connection will be established. If the target object has a share level that does not allow access to the class of users to which the requesting user belongs, then the connect request will fail.

Disconnect Once a user and a digital object are connected, the digital object will appear in lists of digital objects requested by the user. To remove a digital object from these lists, the user will send a disconnect message to:

https://api.domain.name/file/disconnect/N.xml, where N is the Id of the bean Couple This function attempts to establish connection between two digital objects, rather than a user and a digital object. A couple message must be sent to https://api.domain.name/file/couple/N.xml, where N is the ID of the digital object.

Uncouple This function attempts to disconnect a connection between two digital objects, rather than a user and a digital object. A couple message must be sent to

https://api.domain.name/file/uncouple/N.xml, where N is the ID of the digital object.

The Bean noun provides verbs for issuing generic queries affecting multiple bean types. The following queries are possible:

Verbs Remark

Hot This verb provides a list of 25 hottest publicly visible digital objects owned by a user. This verb should be used periodically and is a good candidate for populating a panel on the web portal's 152 home page.

Highestrated This verb provides a list of 25 highest-rated publicly visible digital objects owned by its users.

Contacts This verb provides a list of contacts for a user.

A Buzz Event is generated whenever certain events occur. Buzz Events direct a user's attention to things that are happening within the realm of user's and digital objects to which they are connected. Buzz Events are user specific and can only be viewed by the associated user. A Buzz Event is generated whenever a digital object is created, bounced from one user to another for sharing, and modified. Verbs associated with Buzz Events are:

Verbs Remark

Recent This verb provides a list of recent Buzz Events related to a user and created within 24 hours of the request.

Chat This verb provides a list of recent Buzz Events that are marked as chat messages.

Destroy This verb allows a specific Buzz Event associated with a user to be deleted. It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the scope of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive. For example, a digital object may have multi purpose "timer" function. Once the period set by the timer expires, the object will be automatically removed. In another example, the scores for the digital assets in Fig. 3 can be modified by including a weighting factor in the calculation to take into account the degree of partial matching. For example, if a digital asset matches with two out of three search terms will be associated with a higher score than another digital asset that matches with only one of the search terms.

It should also be understood that, unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as "receiving", "processing", "retrieving", "selecting", "calculating", "determining", "displaying" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that processes and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices. Unless the context clearly requires otherwise, words using singular or plural number also include the plural or singular number respectively. It should also be understood that the techniques described might be implemented using a variety of technologies. For example, the methods described herein may be implemented by a series of computer executable instructions residing on a suitable computer readable medium. Suitable computer readable media may include volatile (e.g. RAM) and/or non- volatile (e.g. ROM, disk) memory, carrier waves and transmission media (e.g. copper wire, coaxial cable, fibre optic media). Exemplary carrier waves may take the form of electrical, electromagnetic or optical signals conveying digital data streams along a local network or a publically accessible network such as the Internet.