US Patent 7,149,977: Virtual calling card system and method
Monday, August 25, 2008 at 10:39AM
Steve Holcombe

Title: Virtual calling card system and method
Patent Number: US Patent 7,149,977
Issued: December 12, 2006
Filed: August 28, 2002
Parent case: n/a
Inventor(s): Melora Zaner et al.
Assignee: Microsoft Corporation
Referenced at issuance: US Patent 5,796,395 (Wegener Internet Projects BV) and US Patent 6,476,830 (Fujitsu Software Corporation).
Referenced after issuance: n/a
Continuation patent(s): US Patent 7,373,609 (Microsoft Corporation)
Blogger comment:

There were 9 references to prior patents at issuance, including US Patent 5,796,395 and US Patent 6,476,830, referenced above. The remaining 7 references are unremarkable for the scope and purposes of this blog.

An advanced search at USPTO online on August 25, 2008 for distinguishing references to this patent after its issuance using ref/7,149,977 reveals 0 references by third parties.

Abstract:

A novel virtual calling card system and method aid in the formation of online relationships, serving as an introduction tool and as a contact mechanism. The calling card is an exchangeable entity that is automatically updated, ensuring that the recipient or viewer sees the most current version of the card. The card may display an aspect ratio that is the same as that of a traditional business card, and has a front side and a reverse side. Furthermore, the card provides a number of avenues for the card owner to express themselves, including an array of affiliation symbols, a most recent mood symbol, and a text field. The reverse side of the card can display a representation of the owner's social network, so that the recipients of the card may identify common friends and associates. Thus, the server-based card exchange appears to users as an exchange in the physical world.

Independent claims (as numbered):

1. A computer-readable medium having thereon a computer-readable data structure corresponding to a virtual calling card comprising: a first side having thereon a first display comprising: an identification of an owner of the calling card; and a contact control that is user-selectable to automatically send a message to the owner of the calling card through a central server via a locator associated with the calling card, the locator further facilitates automatic updating of the calling card upon rendering the calling card; and a second side accessible via a user-actuatable flip control on the first side, the second side having thereon a second display.

Key Drawing(s):

[Fig. 1 image modified for size and/or readability]Before describing the invention in greater detail, an example computing environment in which the invention may operate is described in connection with FIG. 1. The computing device 20 includes a processing unit 21, a system memory 22, and a system bus 23 that couples various system components including the system memory to the processing unit 21. The system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 24 and random access memory (RAM) 25. A basic input/output system (BIOS) 26, containing the basic routines that help to transfer information between elements within the computing device 20, such as during start-up, is stored in ROM 24. The computing device 20 may further include a hard disk drive 27 for reading from and writing to a hard disk 60, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29, and an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD ROM or other optical media.

The hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32, a magnetic disk drive interface 33, and an optical disk drive interface 34, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the PC 20. Although the exemplary environment described herein employs a hard disk 60, a removable magnetic disk 29, and a removable optical disk 31, it will be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computing device, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories, read only memories, and the like may also be used in the exemplary operating environment.

A number of program modules may be stored on the hard disk 60, magnetic disk 29, optical disk 31, ROM 24 or RAM 25, including an operating system 35, one or more applications programs 36, other program modules 37, and program data 38. A user may enter commands and information into the device 20 through input devices such as a keyboard 40 and a pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48. In addition to the monitor, the computing device typically includes other peripheral output devices, not shown, such as speakers and printers.

The device 20 is operable in a networked environment using fixed or transient logical connections to one or more remote computing devices, such as a remote computer 49. The remote computer 49 may be another similar computing device, a server, a router, a network PC, a peer device or other common network node, or any other device type such as any of those mentioned elsewhere herein, and typically includes many or all of the elements described above relative to the computing device 20, although there is no such requirement, and only a memory storage device 50 has been illustrated in FIG. 1. The logical connections depicted in FIG. 1 include a local area network (LAN) 51 and a wide area network (WAN) 52. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.

When used in a LAN networking environment, the computing device 20 is connected to the local network 51 through a network interface or adapter 53. When used in a WAN networking environment, the computing device 20 typically includes a modem 54 or other means for establishing communications over the WAN 52. The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. Program modules depicted relative to the computing device 20, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. Additionally, the invention is not intended to be limited to a particular network type. Any network type, wired or wireless, fixed or transient, circuit-switched, packet-switched or other network architectures, may be used to implement the present invention.

In the description that follows, the invention will be described with reference to acts and symbolic representations of operations that are performed by one or more computing devices, unless indicated otherwise. As such, it will be understood that such acts and operations, which are at times referred to as being computer-executed, include the manipulation by the processing unit of the computing device of electrical signals representing data in a structured form. This manipulation transforms the data or maintains it at locations in the memory system of the computing device, which reconfigures or otherwise alters the operation of the computing device in a manner well understood by those skilled in the art. The data structures where data is maintained are physical locations of the memory that have particular properties defined by the format of the data. However, while the invention is being described in the foregoing context, it is not meant to be limiting as those of skill in the art will appreciate that various of the acts and operations described hereinafter may also be implemented in hardware.

[Fig. 2 image modified for size and/or readability]FIG. 2 is a schematic diagram of a network environment within which an embodiment of the invention may be implemented. In particular, a plurality of user devices 201, 203, 205, and 207 are illustrated as being communicably linked via a network 209. Each user device will typically be used by or associated with a different user. The exact number of user devices so linked is not important for the present invention, although a network communication will typically involve at least two users. Furthermore, the type of network 209 is not critical, and may be peer-to-peer, server-based, a hybrid of the two, or any other type of link or network that allows an exchange of information, directly or indirectly between two user machines. For example, one contemplated network type is a simple beam communication between devices such as devices 205 and 211. The beam may be electromagnetic (e.g. visible radiation, IR radiation, UV radiation, RF radiation, etc.) acoustic (e.g. audible or otherwise), or any other directional or non-directional beam or emanation capable of carrying information. Via the network 209, a communication from one user may be transmitted to another user or users (via their respective user devices).

One or more user machines 201 used to implement an embodiment of the invention may be as illustrated with respect to the computing device architecture of FIG. 1, although there is no such limitation inherent in the invention. It is contemplated that an implementation of the invention will additionally or alternatively be used with any of a number of other communication device types, presently known and otherwise, including but not limited to wearable communication devices (203), cell phones (205), and PDAs (207).

[Fig. 3 image modified for size and/or readability]The calling card itself will be described in greater detail, after which usage scenarios and exemplary implementation details will be discussed. In overview, a calling card according to an embodiment of the invention is passable between users over the network 209, so that users who are not previously directly acquainted may become familiar with each other. FIG. 3 illustrates one exemplary configuration of the calling card 300, with FIG. 3A showing the front side 301 of the card and FIG. 3B showing the rear side 303. The card is an exchangeable article that is only partially self-contained so that the card may update itself, as will be described in greater detail below. Also to be discussed hereinafter, the card does not simply provide contact information (it does not necessarily provide contact information in human-readable form at all), but rather serves as a point of contact from the card user to the card owner.

The calling card 300 preferably exhibits the same aspect ratio as a standard physical business card, although such is not required. Although the calling card 300 may be rendered at different scales, the card 300 is generally preferably shown at about the same size as a business card, such as at 175.times.100 pixels. The calling card 300 comprises a number of components in an embodiment of the invention, such as an owner's character 305 (24.times.24 pixels)(as selected or generated by the owner), owner's name 307 (as input by the owner), an indication of the owner's most recent mood 309 (as input or selected by the owner), a text area 311 for containing text entered by the owner, a background image or pattern 313 as created or selected by the owner, and affiliation symbols 315, also selected by the owner.

In an embodiment of the invention, affiliation symbols other than those also displayed by a card of the recipient are suppressed. Thus, the recipient would know what affiliations she and the card owner had in common, but would not be aware of the owner's other affiliations. Using this functionality, a card owner will feel less inhibited in their choice of affiliations, knowing that those affiliations will be made known only to others that share the particular interest or association in question.

In addition to the above-described informative items, a number of active controls may be also provided on the calling card 300 as well. For example, a "close" control 321 placed in the upper right hand comer of the front face 301 of the card 300 may be used to close the calling card 300, so that it is no longer open and no longer rendered on the display. An "Add" control 323 situated on the front 301 of the card 300 is usable to add the card owner to a list of contacts, such as for a group interaction application. A "Chat" button 325 allows the recipient to contact the owner and open an online conversation. Such contact may be made via a central server as discussed below. The recipient may elect to pass the card to another party via a "Pass" control 327, although cards may be passed through other mechanisms, such as for example drag and drop, as well. When the owner displays his or her own calling card, an "Edit" control 329 is preferably displayed so that the owner can change the appearance and content of their card. As discussed below, any changes will be reflected in a most recent version of the calling card stored on a central server so that each time any party opens the card 300 they have access to the latest version thereof. In the bottom right hand corner of the front side 301 of the card 300, a flip control 319 is displayed. By selecting the flip control 319, the user can flip the card to view the reverse side 303 as shown in FIG. 3B. On the reverse side 303 of the card 300, the primary feature is a depiction 317 of the owner's social network. Finally, a "Help" item 331 allows a user to access information about what the calling card is and how to use it.

It can be seen that the card 300 provides its owner with a number of avenues through which to express his or her interests and affiliations. Upon opening their calling the card, the user can change their character 305 appearance, their background image or pattern 313, and the font size and color for the text on the card 300. In addition, the user can add or edit text within the text area 311. The text within the text area 311 may be any text desired by the owner, such as a phone number and/or address as with a traditional business card, or a quote, recipe, short poem, etc. The text preferably wraps, such as by word, within the text area 311, and also preferably becomes scrollable should the amount of text exceed the size of the text area 311. Preferably the text area 311 allows for rich text formatting, such as through a subset of HTML tags (e.g. font, link, center, paragraph, horizontal rule, numbered list, bulleted list, right justified, and heading). In the illustrated embodiment, the text area 311 is not formatted to optimally accommodate images or other media, although such may be accommodated if desired in an embodiment of the invention.

The owner can also add or remove affiliation symbols 315. Such symbols can be generated by the user, either by importing the image from another source or through the use of a drawing application, or can be prepackaged and provided by the distributor of the calling card application. The symbols should be such as to respect any proprietary rights, such as copyrights or trademark rights, that third parties may have. For symbol providers, a sufficient number and variety of symbols should be provided so as to enable a wide range of expression via selection. Appropriate symbol categories include without limitation: Greek letters, foods (bananas, apples, etc.), household items (phones, couches, etc.), cars, elements (earth, air, fire, water), tools (hammers, scythe, etc.), plants (flowers, trees, etc.), astronomy, folklore (e.g. alchemy, astrology), mathematics, medicine, music, recreation, religion, and safety.

With respect to the reverse side 303 of the card 300, the owner can also change the appearance of their social network. For example, the owner may opt not to display their network at all, or may opt to display information related to only those friends that the card owner and card recipient have in common. Thus, the card would appear differently depending upon the identity of the recipient. The information regarding the social network is gleaned at both the owner's machine and the recipient's machine from a respective list of contacts on each, such as for an online group experience application, or from another computer accessible listing of contacts or friends.

With respect to implementation, the calling card is preferably an XML entity, or "blob." The XML blob is stored on a central store connected preferably to the Internet, directly or indirectly, or to another network over which both the card owner and recipient can communicate at some point in time, although not necessarily at the same time. The contact information for the owner is a Passport address in an embodiment of the invention, but such is not required. Any other suitable contact information or format usable to connect the user to the card owner directly or indirectly may also be used without departing from the scope of the invention. The calling card can be accessed on the central store using a locator derived from the contact information via a one-way hash. Thus the owner's contact information preferably cannot be derived from the locator, although a party already having the owner's contact information could hash that information to create a locator to retrieve the owner's calling card. As will be described in greater detail hereinafter, the passing of a calling card from an owner or other person to a recipient comprises the passing of the locator, which is then automatically used to retrieve the calling card itself.

The calling card owner can update the calling card by updating the appropriate calling card file at the central server. The calling card locator and the XML blob are cached at the owner's machine (and at each recipient's machine). Thus, every time the calling card is rendered, the central server is checked to determine whether the calling card has been updated since the cache was populated, and if so, the latest version of the calling card is downloaded. Similarly, when the card is "passed," the version retrieved via the locator is the most recent version. Because a particular calling card may be retrieved by a number of recipients, the updating of the calling card is preferably not signified via a simple flag. However, multiple flags associated with multiple recipients may be used, or, more preferably, the recipient cache date and the server most recent version date can be compared to determine whether an update has occurred for the calling card in question.

Article originally appeared on The @WholeChainCom Blog (http://www.pardalis.com/).
See website for complete article licensing information.