US Patent 7,149,977: Virtual calling card system and method
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):
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 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).
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.
Reader Comments