FIELD
[0001] The specification relates generally to bid tracking, and specifically to a method,
system and apparatus for managing a bid tracking database.
BACKGROUND
[0002] A variety of electronic devices, including, for example, personal computers and smart
telephones, can have the capability to interact with online auction services. Some
such devices can interact with online auction services to place and review bids by
way of a conventional web browser. Some devices can also interact with online auction
services by way of other applications running on those devices. The variability in
interactions with online auction services can complicate the collection of data concerning
the use of online auction services.
GENERAL
[0003] An aspect of the specification can provide a method of managing a bid tracking database
comprising: receiving at least one bid record at an interface, the at least one bid
record comprising a bid price, a bid timestamp and a bid item identifier; receiving
at least one auction record at the interface, the at least one auction record comprising
a winning price, an end timestamp and an auction item identifier corresponding to
the bid item identifier; maintaining the at least one bid record and the at least
one auction record in a memory; determining whether the bid price matches or exceeds
the winning price and whether the bid timestamp matches the end timestamp; and, when
the determination is affirmative, writing the bid record to the bid tracking database
maintained in the memory. A computer readable storage medium for storing computer
readable instructions for execution by a processor, the computer readable instructions
implementing the method can also be provided.
[0004] Another aspect of the specification can provide a server comprising: an interface
for receiving at least one bid record comprising a bid price, a bid timestamp and
a bid item identifier; and for receiving at least one auction record comprising a
winning price, an end timestamp and an auction item identifier corresponding to the
bid item identifier; a memory for maintaining the at least one bid record and the
at least one auction record, and for maintaining a bid tracking database; and a processor
interconnected with the interface and the memory, the processor configured to receive
the at least one bid record and the at least one auction record from the interface;
the processor further configured to determine whether the bid price matches or exceeds
the winning price and whether the bid timestamp matches the end timestamp; the processor
further configured to, when the determination is affirmative, write the bid record
to the bid tracking database maintained in the memory.
BRIEF DESCRIPTIONS OF THE DRAWINGS
[0005] Embodiments are described with reference to the following figures, in which:
Figure 1 depicts a schematic representation of a system for managing a bid tracking
database, according to a non-limiting embodiment;
Figure 2 depicts a bid record and an auction record maintained within components of
the system of Figure 1, according to a non-limiting embodiment;
Figure 3 depicts a schematic representation of the third server of Figure 1, according
to a non-limiting embodiment; and
Figure 4 depicts a method for managing a bid tracking database, according to a non-limiting
embodiment; and
Figure 5 depicts received bid records, a list of item identifiers and received auction
records, according to a non-limiting embodiment.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0006] Figure 1 depicts a system 100 comprising a plurality of mobile electronic devices
104-1, 104-2 ... 104-n (referred to collectively as mobile electronic devices 104
and generically as a mobile electronic device 104), a first server 108, a second server
112 and a third server 116. Mobile electronic devices 104 and servers 108, 112 and
116 can be interconnected via a network 120 and links therewith. Mobile electronic
devices 104 can be connected with network 120 via links 124-1, 124-2 ... 124-n. Server
108 can be connected with network 120 via link 128, server 112 can be connected with
network 120 via link 132 and server 116 can be connected with network 120 via link
136.
[0007] Mobile electronic devices 104 can be devices based on the computing environment and
functionality of hand-held wireless communication devices. It will now be apparent,
however, that mobile electronic devices 104 are not limited to hand-held wireless
communication devices. Other mobile electronic devices are also contemplated, such
as cellular telephones, smart telephones, media players and laptop computers.
[0008] Network 120 can comprise any suitable combination of wired and/or wireless networks,
including but not limited to packet based networks, the Internet, analog networks,
the PSTN, LAN, WAN, cell phone networks, WiFi networks, WiMax networks and/or any
suitable combination thereof. Other suitable types of networks will also occur to
those skilled in the art.
[0009] Links 124, 128, 132 and 136 can therefore be wireless or wired links, or combinations
of wireless and wired links. For instance, links 124 can be wireless links based on
core mobile network infrastructure (e.g. Global System for Mobile communications ("GSM");
Code Division Multiple Access ("CDMA"); CDMA 2000; 3G; 4G). Links 124 can also be
based on wireless local area network ("WLAN") infrastructures such as the Institute
for Electrical and Electronic Engineers ("IEEE") 802.11 Standard (and its variants),
Bluetooth or the like, or hybrids thereof.
[0010] In general, servers 108, 112 and 116 can be based on any server environment that
will occur to those skilled in the art, each including a module housing one or more
central processing units, volatile memory (e.g. random access memory), persistent
memory (e.g. hard disk devices) and network interfaces to allow servers 108, 112 and
116 to communicate over network 120.
[0011] Server 108 can host an auction website. Server 108 can therefore be configured to
maintain in memory a plurality of auction records each comprising data concerning
a particular auction, and to receive bids on items represented by the auction records
and maintain the received bids in memory. It will now be apparent to those skilled
in the art that a variety of configurations are possible for server 108, and that
the structure of server 108 is not particularly limited herein. In system 100, mobile
electronic devices 104 can be configured, for example via execution of an auction
application on each mobile electronic device 104, to transmit bid records to server
108. An exemplary transmission T-1 of a bid record from mobile electronic device 104-2
to server 108 via link 124-2, network 120 and link 128 is shown in Figure 1.
[0012] Mobile electronic devices 104 can also be configured, via execution of the auction
application, to also transmit to second server 112 each bid record sent to server
108. Second server 112 can be a data collection centre, and can be operated by a different
entity than the entity which operates first server 108, though this is not strictly
necessary (that is, first and second servers 108 and 112 can be operated by the same
entity in some embodiments). An exemplary transmission T-2 is shown in Figure 1, comprising
a transmission of the bid record of T-1 from mobile electronic device 104-2 to server
112 via link 124-2, network 120 and link 132. Transmissions T-1 and T-2 can be substantially
simultaneous in some embodiments, though this is not strictly necessary. In other
embodiments, transmission T-2 can be made, for example, once the success of transmission
T-1 has been confirmed. It will be appreciated that in the present embodiment, transmissions
T-1 and T-2 need not be identical. For example, transmission T-1 can additionally
contain an identifier for mobile electronic device 104-2 (which can be incorporated
within the bid record), whereas transmission T-2 can omit any such identifier.
[0013] Turning now to Figure 2, an exemplary bid record 200 as stored in memory at second
server 112 is shown. Also shown is an exemplary auction record 250 as maintained in
memory at first server 108. Bid record 200 can comprise an item identifier 202, a
bid price 204 and a timestamp 206. Item identifier 202 can be a string of characters
identifying the item to which bid record 200 relates. In general, item identifier
202 can be chosen to uniquely identify a particular item for which an auction is being
conducted at server 108 from the other items for which auctions are being conducted.
Many suitable item identifiers will occur to those skilled in the art. In the present
embodiment, item identifier 202 comprises an item number, "12345." Bid price 204 comprises
the price being submitted to server 108 for item number 12345 by way of transmission
of bid record 200. As shown in Figure 2, bid price 206 indicates that mobile device
104-2 has transmitted a bid of seventy dollars for item number 12345 to server 108
and server 112. Timestamp 206 represents the time at which the bid was transmitted.
[0014] Auction record 250 comprises an auction item identifier 252. Similarly to item identifier
202, auction item identifier 252 can be chosen to uniquely identify a particular item
for which an auction is being conducted at server 108. Auction record 250 also comprises
a current price 254 and a timestamp 256. Current price 254 can contain the current
highest bid for the auction represented by auction record 250. Timestamp 256 can contain
the time at which the current highest bid was placed. Auction record 250 can also
comprises a winning price 258, which contains the final bid price that ended the auction
for item 12345. Auction record 250 also comprises an end timestamp 260, which indicates
the time at which the auction for item number 12345 ended (it will be noted that end
time 260 will not always be the time at which the bid containing winning price 258
was placed). It will be appreciated that for an ended auction, current price 254 and
winning price 258 will be equal. For an auction that has not yet ended, winning price
258 and end time 260 will generally not contain data.
[0015] It will now be apparent that server 108 can host a plurality of auctions, each for
a different item. Server 108 can therefore maintain in memory a plurality of auction
records 250: one for each auction hosted at server 108. For each auction, server 108
can additionally receive a plurality of bid records 200 and compare received bid records
in order to determine which bid record contains the current highest bid price.
[0016] Referring now to Figure 3, third server 116 is shown in greater detail. Third server
116 can be operated by an entity separate from those operating first and second servers
108 and 112, though it will be understood that this is not strictly necessary. For
example, server 116 can be operated by a device service provider for mobile electronic
devices 104. Server 116 can include a processor 302 (which can be one or more central
processing units) interconnected with an interface 304 by way of a communication bus
(not shown). Interface 304 provides wireless or wired communication capabilities,
or both wireless and wired communication capabilities, to server 116 via link 136
and network 120 as discussed above. Server 116 can also include one or more output
devices such as a display 306 and a speaker 308 interconnected with processor 302
via a communication bus. Server 116 can additionally include an input device 310 interconnected
with processor 302 via a communication bus. Input device 310 can include any combination
of a keyboard, a mouse, a touch screen integrated with display 306, a microphone and
the like.
[0017] Server 116 also includes a memory 312 interconnected with processor 302. As mentioned
above, memory 312 can comprise any suitable combination of volatile memory (e.g. random
access memory ("RAM")) and persistent memory (e.g. read only memory ("ROM"), hard
disk devices and the like). Memory 312 can maintain applications (not shown) comprising
computer readable instructions for execution by processor 302 and for configuring
processor 302 via such execution for performing various actions. It will be understood
that such applications need not be maintained in memory 312. Applications can be stored
on any suitable computer readable medium (e.g. a removable diskette, CD-ROM, USB drive
and the like). The computer readable medium can also be located remotely to server
116 and the instructions can be transmitted to processor 302 via network 120, link
136 and interface 304.
[0018] Memory 312 can also maintain a bid tracking database 314 for maintaining records
of winning bids placed from mobile electronic devices 104. A method of managing the
bid tracking database 314 will now be described in connection with Figure 4.
[0019] Figure depicts a method 400 for managing bid tracking database 314. While method
400 will be described in conjunction with its performance on server 116, it will be
understood that method 400 and server 116 need not be exactly as described herein.
[0020] Method 400 begins at block 405, at which processor 302 can be configured to transmit
a request, via interface 304, link 136 and network 120, to second server 112 for bid
records received at server 112 from mobile electronic devices 104. The request can
be transmitted at pre-determined intervals of time. For example, the request can be
transmitted once per week, and can request any bid records that have been received
at server 112 since the previous request was transmitted.
[0021] Proceeding to block 410, processor 302 can be configured to receive the bid records
requested at block 405 and to store the received records in memory 312. Referring
briefly to Figure 3, received records 316 are shown maintained within memory 312.
It will be understood that received records 316 can comprise at least one bid record
as described in conjunction with bid record 200 above. In some embodiments, as shown
in Figure 5, received records 316 can include a plurality of bid records, including
bid record 200.
[0022] Having received bid records at block 410, method 400 proceeds to block 415, where
processor 302 can be configured to generate a list of item identifiers from the bid
records received at block 410. Referring again to Figure 5, a list 318 of item identifiers
is shown. It will now be apparent that list 318 comprises a list of unique item identifiers
present in bid records 316. Although some item numbers are repeated within bid records
316 (that is, bid records 316 contain multiple bid records for the same item), list
318 does not contain any duplicated item identifiers.
[0023] Returning to Figure 4, performance of method 400 continues at block 420, where processor
302 can be configured to transmit requests for auction records to first server 108
based on the contents of list 318. Processor 302 can be configured to transmit, via
interface 304, a request for the auction record corresponding to each item identifier
present in list 318.
[0024] Proceeding to block 425, processor 302 can be configured to receive auction records
320, as shown in Figure 5, from first server 108. Auction records 320 can include
one auction record, such as auction record 250, for each item identifier for which
a request was transmitted at block 420. As can be seen in Figure 5, auction records
320 can include auctions records for auctions that have not yet ended. Those auction
records do not include data in the winning price and end time fields. Auction records
320, once received, can be maintained in memory 312 as shown in Figure 3.
[0025] Method 400 then proceeds to block 430. At block 430, processor 102 can be configured
to determine if any of auction records 320 contain data for auctions that have ended
(i.e. for which a winning bid has been placed). In performing block 430, processor
302 can be configured to determine whether any of auction records 320 include winning
prices and end times. For the examplary auction records 320 shown in Figure 5, the
determination at block 430 would therefore be affirmative (the auction for item number
12345 has ended, while the remainder have not yet ended).
[0026] Having determined that at least one auction has ended, processor 302 can then be
configured to perform block 435 of method 400. At block 435, processor 302 can be
configured to select the bid record having the highest bid price from among the bid
records in 316 having item identifiers corresponding to the item identifier of the
ended auction. In the present exemplary performance of method 400, the ended auction
is for item number 12345. There are two records within bid records 316 which have
matching item numbers (specifically, the first and last of bid records 316). Thus,
processor 302 can be configured to select the one of those two records with the highest
bid price. As seen in Figure 5, the final record of bid records 316 has a higher bid
price ($72.00) than the first record ($70.00). The final record is therefore selected
at block 435.
[0027] Proceeding to block 440, processor 302 can be configured to compare the bid price
and timestamp of the bid record selected at block 435 with the winning price and end
timestamp, respectively, of the ended auction. By way of the comparison, processor
302 can be configured to determine whether the bid price matches or exceeds the winning
price and whether the bid timestamp matches the end timestamp. If both the above conditions
are satisfied, the bid record selected at block 435 can be considered the winning
bid for the ended auction. It will be understood by those skilled in the art that
an exact match between the bid price and the winning price is not necessary for auctions
where proxy bidding can be used. In such auctions, first server 108 can be configured
to receive a bid record from a mobile electronic device 104 and gradually increment,
as necessary (i.e. as other competing bids are received) an actual bid price for the
relevant auction until the bid price from the bid record is reached. If the bid price
is not reached, the current increment can be registered as the winning price, in favour
the originating mobile electronic device 104. In such cases, the bid record from the
mobile electronic device 104 will be the winning bid, despite the fact that its bid
price can be higher than the winning price.
[0028] If the determination at block 440 is negative (that is, the bid price and timestamp
do not match the winning price and end timestamp), method 400 proceeds to block 430
to check for further ended auctions, as a winning bid has not been located among bid
records 316 for the current ended auction.
[0029] If, however, the determination at block 440 is affirmative, method 400 advances to
block 445, where the bid record selected at block 435 is written to bid tracking database
314. In the present exemplary performance of method 400, as can be seen from Figure
5, the winning price matches the highest bid price for item number 12345, and the
end timestamp matches the timestamp for the highest bid. Thus, the determination at
block 440 is affirmative and the $72.00 bid record for item number 12345 is written
to bid tracking database 314.
[0030] Following performance of block 445, method 400 returns to block 430, where a determination
is made as to whether any further ended auctions remain to be processed. In the present
exemplary performance of method 400, auction records 318 contain only one record for
an ended auction. The determination at block 430 is therefore negative, and method
400 returns to block 405. If the determination at block 430 were positive, blocks
435 and 440 would be repeated for the next ended auction, as described above.
[0031] It will be appreciated that following a negative determination at block 430, method
400 need not be immediately followed by a further performance of block 405. Performance
of block 405 can be conducted at pre-determined intervals of time as discussed above,
and thus block 405 may not be performed again until the pre-determined interval of
time has elapsed in some embodiments.
[0032] It will now be apparent that variations can be made to the embodiments described
above. For example, in some embodiments second server 112 can be omitted. In such
embodiments mobile electronic devices 104 can be configured to transmit bid records
to third server 116 rather than second server 112. In such embodiments block 405 can
be omitted, as the bid records are already available at server 116.
[0033] As a further exemplary variation, in some embodiments auction records can include
a single price field and a single timestamp field rather than two of each filed, as
described above. In such embodiments, auction records can also include a flag, such
as a field containing "yes" or "no," indicating whether or not the auction has ended.
In performing the determination at block 430, processor 302 could thus be configured
to determine whether any auction records included a "yes" flag.
[0034] In some embodiments, following completion of block 445 (or block 440, if the determination
at block 440 is negative), records within bid records 316 having the item identifier
of the ended auction that has been processed by the performance of blocks 440 and/or
445 can be deleted from bid records 316. In the exemplary performance of method 400
described above, the first and last records of bid records 316 would thus be deleted
following the performance of block 445 for item number 12345.
[0035] Additionally, in some embodiments block 405 can be omitted entirely, as second server
112 can be configured to transmit bid records 316 to third server 116 without such
records being requested.
[0036] In some embodiments (not shown), bid records 200 transmitted from mobile electronic
devices 104 can include identifications of the entity or entities providing network
service to mobile electronic devices 104 (that is, the operators of links 124-1, 124-2
... 124-n). Such identifiers can be requested by third server 116 and added to bid
tracking database 314 as described above.
[0037] Persons skilled in the art will appreciate that there are yet more alternative implementations
and modifications possible for implementing the embodiments, and that the above implementations
and examples are only illustrations of one or more embodiments. The scope, therefore,
is only to be limited by the claims appended hereto.
[0038] The present disclosure further comprises the following enumerated example embodiments
(EEEs), which are not claims:
EEE1. A method of managing a bid tracking database (314), the method comprising:
receiving (410) at least one bid record (200) at an interface (304), the at least
one bid record comprising a bid price (204), a bid timestamp (206) and a bid item
identifier (202);
receiving (425) at least one auction record (250) at the interface (304), the at least
one auction record comprising a winning price (258), an end timestamp (260) and an
auction item identifier (252) corresponding to the bid item identifier (202);
maintaining the at least one bid record (200) and the at least one auction record
(250) in a memory (312);
determining (440) whether the bid price matches or exceeds the winning price and whether
the bid timestamp matches the end timestamp; and,
when the determination is affirmative, writing (445) the bid record to the bid tracking
database (314) maintained in the memory (312).
EEE2. The method of EEE1, further comprising:
receiving at the interface a plurality of bid records (316), at least two of the bid
records having a common bid item identifier;
selecting (435), prior to the determination, the one of the at least two bid records
having the highest bid price; and,
performing the determination based on the selected bid record.
EEE3. The method of EEE1 or EEE2, further comprising:
prior to receiving the at least one bid record, transmitting a request (405) for the
at least one bid record.
EEE4. The method of EEE3, comprising transmitting the request for the at least one
bid record at a pre-defined time interval after a previous request.
EEE5. The method of any one of EEE1 to EEE4, further comprising:
prior to receiving the at least one auction record, transmitting a request (420) for
the at least one auction record.
EEE6. The method of EEE5, further comprising:
prior to transmitting the request for the at least one auction record, generating
(415) a list of item identifiers based on the received bid records (316).
EEE7. The method of EEE2, further comprising:
receiving at the interface (304) a plurality of auction records (320), each auction
record having a different item identifier number;
repeating the determining and writing for each auction record.
EEE8. A server comprising:
an interface (304) for receiving at least one bid record (200) comprising a bid price
(204), a bid timestamp (206) and a bid item identifier (202); and for receiving at
least one auction record (250) comprising a winning price (258), an end timestamp
(260) and an auction item identifier (252) corresponding to the bid item identifier
(202);
a memory (312) for maintaining the at least one bid record (200) and the at least
one auction record (250), and for maintaining a bid tracking database (314);
a processor (302) interconnected with the interface (304) and the memory (312), the
processor configured to receive the at least one bid record and the at least one auction
record from the interface (304); the processor further configured to determine (440)
whether the bid price matches or exceeds the winning price and whether the bid timestamp
matches the end timestamp; the processor further configured to, when the determination
is affirmative, write (445) the bid record to the bid tracking database maintained
in the memory.
EEE9. The server of EEE8, the processor (302) further configured to receive a plurality
of bid records (316) via the interface, at least two of the bid records having a common
bid item identifier; the processor (302) further configured to select (435), prior
to the determination, the one of the at least two bid records having the highest bid
price; and to perform the determination (440) based on the selected bid record.
EEE10. The server of EEE8 or EEE9, the processor (302) further configured, prior to
receiving the at least one bid record, to transmit a request (405) via the interface
for the at least one bid record.
EEE11. The server of EEE10, the processor (302) further configured to transmit the
request (405) for the at least one bid record at a pre-defined time interval after
a previous request.
EEE12. The server of any one of EEE8 to EEE11, the processor (302) further configured,
prior to receiving the at least one auction record, to transmit a request (420) via
the interface for the at least one auction record.
EEE13. The server of EEE12, the processor further configured to generate a list (415)
of item identifiers based on the received bid records prior to transmitting the request
for the at least one auction record.
EEE14. The server of EEE9, the processor further configured to receive a plurality
of auction records (320) via the interface (304), each auction record having a different
item identifier number; the processor (302) further configured to repeat the determination
and writing for each auction record.
EEE15. A computer readable storage medium for storing computer readable instructions
for execution by a processor, the computer readable instructions implementing the
steps of:
receiving (410) at least one bid record (200) at an interface (304), the at least
one bid record comprising a bid price (204), a bid timestamp (206) and a bid item
identifier (202);
receiving (425) at least one auction record (250) at the interface (304), the at least
one auction record comprising a winning price (258), an end timestamp (260) and an
auction item identifier (252) corresponding to the bid item identifier (202);
maintaining the at least one bid record (200) and the at least one auction record
(250) in a memory (312);
determining (440) whether the bid price matches or exceeds the winning price and whether
the bid timestamp matches the end timestamp; and,
when the determination is affirmative, writing (445) the bid record to the bid tracking
database (314) maintained in the memory (312).
1. A method of managing a bid tracking database (314), wherein the bid tracking database
(314) is hosted at a first server (116), the method comprising:
transmitting a request (405) to a second server (112) for the at least one bid record
at a pre-defined time interval after a previous request, the request being for any
bid records that have been received at the second server (112) since the previous
request was transmitted;
receiving (410) at least one bid record (200) at an interface (304) of the first server
(116) from the second server (112), the at least one bid record having been received
at the second server (112) from a mobile electronic device (104) and comprising a
bid price (204), a bid timestamp (206) and a bid item identifier (202), wherein the
bid timestamp (206) represents the time at which the bid was transmitted from the
mobile electronic device to the second server (112);
generating (415) a list of item identifiers based on the received bid records (316);
transmitting (420) a request for at least one auction record;
receiving (425) at least one auction record (250) at the interface (304) from a third
server (108), the at least one auction record comprising a winning price (258), an
auction timestamp (256), an end timestamp (260) and an auction item identifier (252)
corresponding to the bid item identifier (202), wherein the auction timestamp (256)
contains the time at which the current highest bid was placed;
maintaining the at least one bid record (200) and the at least one auction record
(250) in a memory (312);
determining (440) whether the highest bid price matches or exceeds the winning price
and whether the end timestamp matches the auction timestamp; and,
when the determination is affirmative, writing (445) the bid record to the bid tracking
database (314) maintained in the memory (312).
2. The method of claim 1, further comprising:
receiving at the interface (304) a plurality of bid records (316);
wherein the list (318) of item identifiers is generated (415) based on the received
bid records (316) such that the list (318) does not contain any duplicated item identifiers;
and
the request for the at least one auction record is a request for an auction record
corresponding to each item identifier present in list (318).
3. The method of claim 2, wherein:
receiving (425) at least one auction record (250) comprises receiving one auction
record for each item identifier for which the request for the at least one auction
record was transmitted; and
the auction records (320), once received, are maintained in memory (312) of the first
server;
wherein writing (445) the bid record to the bid tracking database (314) occurs after
it is determined (430) that the auction records (320) contain data for auctions that
have ended; and
wherein the method further comprises, following completion of the writing (445), or
the determining (440), if the determination is negative, deleting from bid records
(316) records therein having the item identifier of the or each ended auction that
has been processed by the determining (440) and/or writing (445).
4. The method of claim 1, further comprising:
receiving at the interface a plurality of bid records (316), at least two of the bid
records having a common bid item identifier;
selecting (435), prior to the determination, the one of the at least two bid records
having the highest bid price; and,
performing the determination based on the selected bid record.
5. The method of claim 4, further comprising:
receiving at the interface (304) a plurality of auction records (320), each auction
record having a different item identifier number;
repeating the determining and writing for each auction record.
6. A first server comprising:
an interface (304) for receiving at least one bid record (200) from a second server
(112), the at least one bid record having been received at the second server (112)
from a mobile electronic device (104) and comprising a bid price (204), a bid timestamp
(206) and a bid item identifier (202); and for receiving at least one auction record
(250) from a third server (108), the at least one auction record comprising a winning
price (258), an auction timestamp (256), an end timestamp (260) and an auction item
identifier (252) corresponding to the bid item identifier (202), wherein the bid timestamp
(206) represents the time at which the bid was transmitted from the mobile electronic
device to the second server and the auction timestamp (256) contains the time at which
the current highest bid was placed;
a memory (312) for maintaining the at least one bid record (200) and the at least
one auction record (250), and for maintaining a bid tracking database (314);
a processor (302) interconnected with the interface (304) and the memory (312), the
processor configured to transmit a request (405) to the second server (112) for the
at least one bid record at a pre-defined time interval after a previous request, the
request being for any bid records that have been received at the second server (112)
since the previous request was transmitted, to receive the at least one bid record,
to generate a list (415) of item identifiers based on the received bid records, to
transmit (420) a request via the interface for the at least one auction record, and
to receive the at least one auction record from the interface (304); the processor
further configured to determine (440) whether the highest bid price matches or exceeds
the winning price and whether the auction timestamp matches the end timestamp; the
processor further configured to, when the determination is affirmative, write (445)
the bid record to the bid tracking database maintained in the memory.
7. The server of claim 6, wherein:
the processor is further configured to receive at the interface (304) a plurality
of bid records (316);
the list (318) of item identifiers is generated (415) based on the received bid records
(316) such that the list (318) does not contain any duplicated item identifiers; and
the request for the at least one auction record is a request for an auction record
corresponding to each item identifier present in list (318).
8. The server of claim 7, wherein:
receiving (425) at least one auction record (250) comprises receiving one auction
record for each item identifier for which the request for the at least one auction
record was transmitted; and
the auction records (320), once received, are maintained in memory (312) of the first
server;
wherein writing (445) the bid record to the bid tracking database (314) occurs after
it is determined (430) that the auction records (320) contain data for auctions that
have ended; and
wherein the method further comprises, following completion of the writing (445), or
the determining (440), if the determination is negative, deleting from bid records
(316) records therein having the item identifier of the or each ended auction that
has been processed by the determining (440) and/or writing (445).
9. The server of claim 6, the processor (302) further configured to receive a plurality
of bid records (316) via the interface, at least two of the bid records having a common
bid item identifier; the processor (302) further configured to select (435), prior
to the determination, the one of the at least two bid records having the highest bid
price; and to perform the determination (440) based on the selected bid record.
10. The server of claim 9, the processor further configured to receive a plurality of
auction records (320) via the interface (304), each auction record having a different
item identifier number; the processor (302) further configured to repeat the determination
and writing for each auction record.
11. A system for managing a bid tracking database (314) at a first server (116), the system
(100) comprising:
a plurality of wireless mobile electronic devices (104);
a first server (116) according to any of claims 8 to 12;
a second server (112) configured to store bid records (200) in memory; and
a third server (108) configured to host an auction website and configured to maintain
in memory a plurality of auction records each comprising data concerning a particular
auction, and to receive bids on items represented by the auction records and maintain
the received bid records in memory;
wherein, for each mobile device,
a first transmission (T-1) of the bid records via a wireless link (124-2) is received
at the third server (108);
a second transmission (T-2) of the bid records via the wireless link (124-2) is received
at the second server (112).
12. The system of claim 11, wherein:
the second transmission (T-2) of the bid records is substantially simultaneous with
the first transmission (T-1); and
the first transmission (T-1) additionally contains an identifier, incorporated within
the bid record, for the wireless mobile electronic device, whereas the second transmission
(T-2) omits such identifier.
13. A computer readable storage medium for storing computer readable instructions for
execution by a processor, the computer readable instructions implementing the method
of any of claims 1 to 5.