HK1116951B - Customized application specific integrated circuit and method and system for switching data packets and voip packets - Google Patents
Customized application specific integrated circuit and method and system for switching data packets and voip packets Download PDFInfo
- Publication number
- HK1116951B HK1116951B HK08107241.4A HK08107241A HK1116951B HK 1116951 B HK1116951 B HK 1116951B HK 08107241 A HK08107241 A HK 08107241A HK 1116951 B HK1116951 B HK 1116951B
- Authority
- HK
- Hong Kong
- Prior art keywords
- voip
- packets
- packet
- network
- asic
- Prior art date
Links
Description
Technical Field
The present invention relates to online computer games, and more particularly, to a system and method for providing Voice over Internet Protocol (VoIP) for interactive multi-player online computer games.
Background
In general, "online gaming" refers to video games played over some form of network (most commonly the internet, for example). The development of online games is consistent with the global development of the internet. Online games range in variety from single text games to games that incorporate a virtual world of complex graphics and support multiple players simultaneously. Many different types of games may be used on-line. Many online games have associated online communities, making online games a form of social activity far beyond single player games.
Initially, online gaming began with a single player game using various LAN local network protocols with minimal sharing among users, such as sharing a score list. Later, online games were transferred to the internet using TCP/IP protocols, and with the development of broadband access, the variety of online games available on the internet has expanded dramatically. With the continued expansion of internet access, a large number of multiplayer online games are generated, with the internet completely allowing hundreds of players to play the same game together.
In a multiplayer game, multiple players may play the same game at the same time. Unlike single-player games, which can create human conflicts, in multi-player games, players either compete with each other or form a team to achieve a common goal, such as defeating an enemy, which consists of either a computer or players. Typically, multiplayer games utilize computer networks to allow players to play together or to require players to focus on a gaming system to play.
The online game may be single session, i.e., little information is kept between game sessions. In a constant world multiplayer game, i.e., a Massively Multiplayer (MMP) game, the game world is stored between sessions. Examples of different types of MMP games are: MMORPG (massively multiplayer online role-playing game); MMORTS (massively multiplayer online instant strategy games) and MMOFPS (massively multiplayer online first person shooter games).
In virtually all cases, various MMP games today are implemented through a central server. A client is connected to the central server or central server arrangement, where the client system may be a home-level desktop system such as a Windows-based personal computer ("PC") (or Mac), or a gaming console such as Sony's PlayStation2TMMicrosoft Xbox 360TMAnd GameCube of NintendoTWThe central server is responsible for translating the actions of the client, maintaining consistency and passing information among the clients.
Fig. 1 is a block diagram of basic network components of a conventional MMP gaming system. In the MMP gaming system 100, 3 players or gamers play an MMP game online. The 3 players' workstations 102, 104 and 106 are connected to the Internet via links 112, 114 and 116, respectively. A connection 124 is made from the internet 120 to the central game server 122. The central game server 122 is in signal communication over a bus 130 with a game history server 126, the game history server 126 storing game histories for all games that the central game server 122 is providing hosts. Clients 102, 104, and 106 communicate only with central game server 122, and central game server 122 performs the client's actions and notifies other clients accordingly.
Various multi-player games, from single card games to role-playing environments where many players play, have different features and needs. The ability to support hundreds or even thousands of users provides additional opportunities for interaction and enables new games or other online multiplayer experiences (e.g., a virtual world with hundreds of players interacting with each other, simulating real life experiences).
The development of broadband internet access technology has also increased the expanded use of VoIP technology. Generally, VoIP or internet technology involves communication services-voice, fax and/or voice messaging applications, transmitted over the internet rather than the public switched telephone network ("PSTN"). The basic steps involved in initiating an internet telephone call are the conversion of an analog voice signal to digital format and the subsequent compression/compilation of the digital signal into internet protocol ("IP") packets for transmission over the internet, with the process being reversed at the receiving end.
Despite the rapid development, internet telephony still presents some reliability and sound quality problems with respect to the PSTN, mainly due to limitations in internet bandwidth and current compression technology. However, internet telephony provides the potential to add voice communication to data communications between clients participating in an online MMP game. For example, where multiple players in an MMP game are competing as a team with other teams, the exchange of audio information between members within the team that is not heard by other team members can make the online game more realistic, challenging, and entertaining as a result of one team competing against the other.
Therefore, a need exists for a method and system for merging simultaneous transmission of data and voice between a client and a server in an online gaming environment.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.
Disclosure of Invention
A system and/or method for connecting a plurality of devices in a client-server environment and seamlessly transferring both data and voice between the devices, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.
According to one aspect of the present invention, there is provided a customized Application Specific Integrated Circuit (ASIC) for transmitting and receiving data packets and VoIP packets through a network including a plurality of clients in signal communication with a central server using a network device, the customized ASIC comprising:
a synthesizer module in signal communication with at least one network device, the at least one network device connecting one of the plurality of clients to a network, the synthesizer module receiving data packets and VoIP packets from the at least one network device;
a codec module in signal communication with the synthesizer module, the codec module encoding the data packets and the VoIP packets received from the synthesizer module;
and the output and routing module is in signal communication with the coding and decoding module and the central server and sends the coded data packet and the VoIP packet to the central server.
Preferably, the output and routing module is further configured to receive a data packet and a VoIP packet from the central server and send the received data packet and VoIP packet to the codec module;
the codec module is further configured to decode the data packet and the VoIP packet received from the synthesizer module and to transmit the decoded data packet and the decoded VoIP packet after the decoding operation is completed.
Preferably, the at least one network device comprises a game console or a personal computer, whereby the client can communicate with other clients via the network using data packets sent from the custom ASIC to the central server and data packets sent from the central server to the custom ASIC.
Preferably, the at least one network device further comprises an internet protocol ("IP") phone in signal communication with the client, whereby the client is capable of signal communication over the network using VoIP packets sent from the custom ASIC to the central server and VoIP packets sent from the central server to the custom ASIC.
Preferably, the IP phone is configured to communicate with other IP phones connected to the network using VoIP packets transmitted from the customized ASIC to other customized ASICs connected to the network and VoIP packets received from other customized ASICs.
Preferably, the custom ASIC further comprises a key module in signal communication with the codec module for storing an identifier used by the codec module in encoding and decoding packets and VoIP packets.
Preferably, each identifier stored in the key module is uniquely assigned to an IP phone connected to the network and each IP phone is associated with at least one other identifier assigned to the other IP phones, whereby the associated identifier indicates the IP phones receiving VoIP packets from each other.
Preferably, the customized ASIC is configured to be programmed with an identifier entry within the key module and a modification of an identifier stored in the key module, and to filter VoIP packets using the identifier stored in the key module.
Preferably, the identifier stored in the key module is an internet protocol ("IP") address.
Preferably, the customized ASIC further includes a log module in signal communication with the codec module, and the log module is configured to store data, and the data can be retrieved and utilized by the codec module in the process of encoding and decoding the data packet and the VoIP packet.
Preferably, the game console includes a PlayStation2TM、Xbox360TMAnd GameCubeTM。
According to one aspect of the present invention, there is provided a method of exchanging data packets and VoIP packets in a client-server network, the method comprising the steps of:
receiving a data packet at a custom ASIC in signal communication with network equipment connecting a client and the network;
receiving, at the custom ASIC, VoIP packets from an IP phone in signal communication with the client;
forming the data packet and the VoIP packet into an output data stream to be sent to a central server in the network;
sending the output data stream to a central server;
receiving an input data stream from a central server at the custom ASIC, wherein the input data stream comprises data packets and VoIP packets to be received by the network device and IP phone, respectively;
decoding the incoming data packet and incoming VoIP packet;
sending the input data packet to the network equipment;
and sending the input VoIP packet to the IP telephone.
Preferably, the method further comprises the step of encoding the VoIP packet by inserting a transmission identifier, wherein the identifier uniquely identifies the client transmitting the VoIP packet.
Preferably, the method further comprises the steps of:
predetermining at least one other IP phone designated to receive VoIP packets from a client that sent the VoIP packets;
assigning an identifier to each of the at least one other IP phone;
associating an identifier assigned to the at least one other IP telephone with the transmission identifier;
storing the transmission identifier and associated identifier within the custom ASIC.
Preferably, the step of encoding the VoIP packet further comprises inserting at least one reception identifier into the VoIP data packet, the identifier uniquely identifying at least one predetermined client designated to receive the VoIP packet.
Preferably, the sending identifier and the at least one receiving identifier are IP addresses.
Preferably, the step of decoding incoming VoIP packets includes comparing a transmission identifier within each incoming VoIP packet with an associated identifier stored in the custom ASIC.
Preferably, the method further comprises the step of blocking the incoming VoIP packet if the transmission identifier does not match an associated identifier stored in the custom ASIC.
According to another aspect of the present invention, there is provided a client-server network system for data and VoIP communications using data packets and voice packets, respectively, the system comprising:
a plurality of network devices, wherein each network device is in signal communication with a separate custom ASIC;
a plurality of IP phones, wherein each IP phone is in signal communication with a corresponding individual custom ASIC;
and the central server is in signal communication with each independent customized ASIC through a network, wherein each customized ASIC receives a data packet from network equipment in signal communication with the customized ASIC and a VoIP packet from an IP telephone in signal communication with the customized ASIC, and sends the received data packet and the received VoIP packet to the central server.
Preferably, each custom ASIC further sends a VoIP packet to other custom ASICs in the client-server network system, and receives a VoIP packet from other custom ASICs in the client-server network system.
Preferably, each of the individual custom ASICs further receives data packets and VoIP packets from a central server.
Preferably, each of said individual custom ASICs further encodes said VoIP packets using an identifier for identifying the IP phone from which the VoIP packet was sent and a further identifier for identifying at least one other IP phone connected to the network designated to receive the sent VoIP packet.
Preferably, each individual custom ASIC further decodes the VoIP packet received from the central server by matching the identifier in the received VoIP packet with the identifier stored in the individual custom ASIC, and routes the received VoIP packet after decoding is completed.
Many advantages, aspects and novel features of the invention, as well as specific embodiments thereof, will become more fully apparent from the following description and drawings.
Drawings
FIG. 1 is a block diagram of the basic network components of a conventional MMP gaming system;
FIG. 2 is a block diagram of the basic network components of one embodiment of an MMP gaming system including custom ASIC to provide VoIP capability to the system, as well as IP security for voice communications;
FIG. 3 is a block diagram of one embodiment of a custom ASIC incorporating VoIP and IP security;
figure 4 is a flow diagram of a method for integrating VoIP capability into an online gaming system using a custom ASIC used within a user device (e.g., a PC, workstation or game console that provides access to the internet for the user).
Detailed Description
In the following description of numerous alternative embodiments, reference is made to the accompanying drawings in which a specific embodiment of the invention is illustrated. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the spirit and scope of the present invention.
The present invention is described in connection with various functional block diagrams that illustrate possible applications and embodiments of the invention from a functional perspective. These functional block diagrams should not be interpreted as applying or requiring a particular physical architecture based on the partitioning of functionality described herein. Rather, one of ordinary skill will recognize that numerous alternative physical structures (whether hardware, software, or combinations thereof) can be used to implement the described functionality. For example, the invention may be implemented using various hardware and software including, for example, using a semiconductor integrated circuit (e.g., a chip) or combination of semiconductor integrated circuits (e.g., a chipset or multi-chip module), or in associated circuitry, or in software, firmware, protocol stacks, databases, algorithms, or other programs that operate on the above. An implementation of a chip or chip set includes an integrated circuit, including for example any of the following, singly or in combination: an application specific integrated circuit ("ASIC"), a digital signal processor or other general purpose or special purpose processor, and associated circuitry (e.g., memory, coprocessor, bus, etc.).
In general, the present invention discloses a custom application specific integrated circuit ("ASIC") for embedding VoIP packets within stream data packets for transmission to a central server that hosts MMP games in a VOIP/gaming system. The custom ASIC also receives VoIP packets embedded within streaming data packets from the central server and filters the VoIP packets so that only some predetermined players can receive and hear voice communications from other players. As an example, the custom ASIC may be embedded in a video game card used in a personal computer, or may be a separate component used in a personal computer or game console. In another embodiment, the custom ASIC may be a component within a configurable system-on-a-chip platform, such as a set-top box ("STB"), a device for processing parallel streams of audio and video data associated with broadband multimedia services and network packets to support high-speed Internet access.
As an example of the processing that can be performed by a custom ASIC, the custom ASIC includes a synthesizer module that serves as an interface, receives data packets and voice packets from a user and synthesizes these data streams for transmission to a central server. The custom ASIC further includes a routing module serving as an interface to the central server, receiving a voice packet embedded in a packet stream from the central server through the internet connection, and another module for determining the type of the received packet, judging whether the voice packet is addressed to its user by a unique identifier code if the voice packet is found, and accepting or rejecting the voice packet based on the result of the judgment. The custom ASIC also includes an output module that encodes voice packets for transmission to the central server using the unique identifier and prioritizes the various packets for transmission according to predetermined priorities.
Fig. 2 is a block diagram illustrating the basic network components of a MMP gaming system incorporating VoIP capabilities. In fig. 2, 3 players or "players" are all playing the MMP gaming system 200 online. The 3-player workstations 102, 104, and 106 are connected to the Internet 120 via links 112, 114, and 116, respectively. A connection 124 is established from the internet 120 to the central server 122. The central game server 122 is in signal communication over a bus 130 with a game history server 126 that stores game histories for all games that the central game server 122 is currently hosting. Clients 102, 104, and 106 communicate only with central game server 122, and central game server 122 performs the client's actions and notifies other clients accordingly.
In the MMP gaming system 200, VoIP performance is integrated into the gaming system. IP telephony can be implemented in several ways. In one such configuration, an internet connection such as link 112 is connected to broadband router 202, starting with broadband router 202 being a connection to workstation 102 and IP phone 204, which workstation 102 and IP phone 204 will perform the same function as a conventional PSTN phone. In another configuration, a so-called "soft phone" is used, for example, to download software with an interface including a phone keypad displayed on a display into the workstations 104 and 106. Unlike IP phones, users can send and receive calls through computer headsets 206 and 208 with microphones.
In the example of operating MMP gaming system 200, users of workstations 102 and 106 may belong to the same team. Thus, the two users can communicate with each other through the MMP gaming system 200, while the users of the workstation 104 cannot hear their communications. Conversely, the user of the workstation 104 is one of the members of a competing team with other users (not shown), and voice communication between the team members is also secure and inaudible to non-members.
In FIG. 3, a block diagram of one implementation example of a custom ASIC 300 for an online gaming environment is shown, the custom ASIC 300 merging a data stream and a VoIP stream and providing IP security for the VoIP stream. Generally speaking, a custom ASIC incorporating VoIP and IP security ("ASIC-VoIP") 300 processes streaming data packets and VoIP packets for use in an online gaming environment. In fig. 3, ASIC-VoIP300 is in signal communication with users participating in MMP online gaming via communication links 302 and 304. In general, ASIC-VoIP300 receives packets generated by a user's Internet device (e.g., a personal computer or game console), and also receives VoIP packets, which are processed and sent to a central server (not shown) via communication link 326.
Whenever a user interacts with the game, such as by entering a response through a mouse or game console, the data packets (streams) are communicated over communication link 302 to synthesizer module 304 of ASIC-VoIP300, which synthesizer module 304 serves as an interface to the user. At the same time, the user may also communicate with team members via headphones and a microphone while playing the game, in which case the VoIP packets are also transmitted to the synthesizer module 306 via the communication link 304.
Thus, synthesizer module 306 is generally configured to enable ASIC-VoIP300 to receive data packets (streams) generated from various multimedia and data sources, including IP telephony. The data packets and VoIP packets are sent from the synthesizer module 306 to the codec module 310 via the communication link 308. The codec module 310 encodes the data packet and the VoIP packet using an identifier for distinguishing each data packet based on a predetermined standard. As an example operation, the codec module 310 may add an identifier, such as the IP address of the user's IP phone, to any VoIP packets that will be sent through the codec module 310. In this way, when a VoIP packet arrives at a central server (not shown), the central server, which uses the stored data to identify the user who sent the VoIP packet, can determine which users are authorized to receive the VoIP packet and then send the VoIP packet to the appropriate user.
In addition, there is a level of communication between team members. That is, each team is further divided into two or more levels, and the receipt of messages is further limited to each level within the team, which may be configured by parameter entries (entries) within the key module 314. Those skilled in the art will recognize that restrictions on the transmission of data packets may also be implemented by adding a password or code to the packet header of the data packet, which may be based on a standard input to ASIC-VoIP300, which may be stored in key module 314 or log module 318.
ASIC-VoIP300 also includes an output/routing module 324 that is optionally used to receive data and VoIP packets via a connection link 320 and to transmit data and VoIP packets to a central server (not shown) via a connection link 326. As an alternative to the central server receiving and routing VoIP packets, the export/routing module 324 generates additional VoIP packets using data pre-stored in the key module 314. As an example of operation, the key module 314, which is in signal communication with the codec module 310 via the communication link 312, contains a unique identifier that applies to other team members of the user and may generate a separate VoIP packet for each such member. The egress/routing module 324 may also be configured so that VoIP packets may be routed directly to each designated user bypassing the central server when all packets must be directed to the central server for processing and a correct response returned to the appropriate user. Those skilled in the art will recognize that the output/routing module 324 may also perform other functions, such as assigning priorities to the data packets and VoIP packets, storing them in a cache memory, and reordering the transmission of the data packets and VoIP packets.
Incoming packets from a central server (not shown) may be received and sent to the appropriate user's personal computer or game console, or the user's IP phone. As mentioned above, ASIC-VoIP300 is configured to classify and limit the transmission of data and VoIP packets, in which case incoming data and VoIP packets are sent to codec module 310 to determine their ultimate source. In one embodiment, codes and identifiers have been added to the data and VoIP packets when they are sent to ASIC-VoIP300, in which case the incoming packets are examined by codec module 310 to determine the type of incoming packet, e.g., intended recipient, classification level of the data, etc. In other embodiments, the code and identifier may also have been inserted into the packet by the central server and may be decoded by the codec module 310. ASIC-VoIP300 also includes a logging module 318, which is an optional module, in signal communication with codec module 310 via communication link 316. The log module 318 stores a history of the game, team member information, and any other data or information that needs to be saved and used in subsequent sessions.
In fig. 4, a flow diagram of a method for incorporating VoIP performance into an online gaming system using a custom ASIC is shown. In one embodiment, ASIC-VoIP is embedded in user equipment, such as a personal computer, workstation or game console that enables a user to access a network. ASIC-VoIP can be a separate component or attached to a video or game card as an extra component on a chip set or system on a chip ("SoC"). In general, each ASIC-VoIP can perform the same basic functions described above, but each ASIC-VoIP can also be customized to interface with the various available platforms used in online gaming, such as a personal computer with various operating systems, Playstation2TM、Xbox360TM、GameCubeTMAnd the like. In addition, some basic functions may be implemented by modules on a central server, thereby reducing the number of transmissions made in a distributed system.
The flowchart shown in fig. 4 begins at step 402. In decision step 404, a check is made to see if there are any data packets and VoIP packets to be processed by ASIC-VoIP300 in FIG. 3. If not, the flow ends in step 430. Otherwise, in decision step 406, it is determined whether the packet to be processed is an incoming packet or an outgoing packet.
In the case of an incoming packet from a central server, i.e., a data or VoIP packet received by output/routing module 324 of ASIC-VoIP300 in fig. 3 over communication link 326, then the processing thereof is performed beginning at step 416. In decision step 418, it is determined whether the incoming packet is a data packet or a VoIP packet. In the case of a VoIP packet, at decision step 420, it is determined whether the IP address in the VoIP packet matches the IP address of the user of the particular ASIC-VoIP 300. If so, the VoIP packet is sent to the receiver of the user's IP phone. Otherwise, the VoIP will be bypassed and process flow returns to decision step 404.
In the case of an outgoing packet to be sent to the central server, in decision step 408, it is again determined whether the outgoing packet is a data packet or a VoIP packet. In the case of a VoIP packet, the IP address of the user's IP phone and the IP address of the team member of the user obtained from the key module 314 in fig. 3 are embedded in a header appended to the VoIP packet in step 412, and then the VoIP packet is transmitted to the user's IP phone transmitter in step 414. If the data packet is a data packet, the data packet is directly transmitted to the central server to which the user is connected in step 410. In another embodiment, the VoIP packets may be sent to a central server, which then broadcasts or multicasts them to the appropriate users. Thereafter, the process flow returns to step 404 to check for other data packets and VoIP packets to be processed. When there are no further data packets and VoIP packets, the process flow ends at step 430.
Although the foregoing description relates to the use of a custom ASIC in an online MMP gaming environment, wherein VoIP capabilities are seamlessly integrated into MMP online gaming, the present invention is not limited to the use of a custom ASIC in a gaming environment. Any online real-time multi-user distributed system that can benefit from the functionality of the custom ASIC described above can be adapted to the present invention, using the custom ASIC to incorporate VoIP performance into the distributed system to benefit from increased VoIP performance.
One of ordinary skill in the art will also understand and appreciate that one or more of the processes, process subroutines, or process steps described above may be implemented in hardware and/or software. Additionally, the system may be implemented entirely by software executing within a microprocessor, general purpose processor, a group of processors, a digital signal processor ("DSP"), and/or one or more ASICs. If the processing is implemented in software, the software may be embedded within the software memory of the controller. The software in software memory comprises an ordered listing of executable instructions for implementing logical functions (i.e., "logic" that is implemented in digital form, e.g., digital circuitry or raw code, or in analog form, e.g., analog circuitry or an analog source, e.g., an analog electronic, audio, or video signal), and can optionally be embodied in any computer-readable (or signal-bearing) medium for use by or in connection with an instruction execution system, apparatus, or device, e.g., a computer control system, processor-containing system, or other system that selectively obtains instructions from and executes the instructions. In the context of this application, a "computer-readable medium" and/or "signal-bearing medium" refers to any apparatus that can contain, store, communicate, propagate, or transport the program for use by the instruction execution system, apparatus, or device. The computer readable medium includes, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples of the computer-readable medium include the following (a non-exhaustive list): an electrical connection (electronic) having one or more wires; portable computer diskette (magnetic); RAM (electronic); read-only memory "ROM" (electronic); erasable programmable read-only memory (EPROM or flash) (electronic); optical fibers (optical); portable compact disc read only memory "CDROM" (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be retrieved via optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
While various preferred and alternative embodiments of the present invention have been described, it will be apparent to those skilled in the art from this disclosure that various changes may be made and equivalents may be substituted without departing from the scope of the invention, which is defined in the claims.
Claims (9)
1. A customized asic for transmitting and receiving data packets and VoIP packets via a network including a plurality of clients in signal communication with a central server using network equipment, comprising:
a synthesizer module in signal communication with at least one network device, the at least one network device connecting one of the plurality of clients to a network, the synthesizer module receiving data packets and VoIP packets from the at least one network device;
a codec module in signal communication with the synthesizer module, the codec module encoding the data packets and the VoIP packets received from the synthesizer module;
the output and routing module is in signal communication with the coding and decoding module and the central server and sends the coded data packet and the VoIP packet to the central server;
a key module in signal communication with the codec module for storing an identifier used by the codec module in encoding and decoding packets and VoIP packets; each identifier stored in the key module is uniquely assigned to an IP phone connected to the network and each IP phone is associated with at least one other identifier assigned to other IP phones, whereby the associated identifier indicates the IP phones that receive VoIP packets from each other.
2. The customized asic of claim 1, wherein the output and routing module is further configured to receive a data packet and a VoIP packet from a central server, and send the received data packet and VoIP packet to the codec module;
the codec module is further configured to decode the data packet and the VoIP packet received from the synthesizer module and to transmit the decoded data packet and the decoded VoIP packet after the decoding operation is completed.
3. The customized asic according to claim 2, wherein the at least one network device comprises a game console or a personal computer, whereby the client can communicate with other clients via a network using the data packets transmitted from the customized asic to the central server and the data packets transmitted from the central server to the customized asic.
4. The customized asic according to claim 3, wherein the at least one network device further comprises an IP phone in signal communication with the client, whereby the client is able to signal over the network with VoIP packets sent from the customized asic to the central server and VoIP packets sent from the central server to the customized asic.
5. The customized ASIC of claim 4, wherein said IP phone is configured to communicate with other IP phones connected to said network using VoIP packets sent from the customized ASIC to other customized ASICs connected to said network and VoIP packets received from other customized ASICs.
6. A method of exchanging data packets and VoIP packets in a client-server network, the method comprising the steps of:
receiving a data packet at a custom-made ASIC in signal communication with a network device connecting a client and the network;
receiving, at the custom ASIC, VoIP packets from an IP phone in signal communication with the client;
forming the data packet and the VoIP packet into an output data stream to be sent to a central server in the network;
sending the output data stream to a central server;
receiving an input data stream from a central server at the customized ASIC, wherein the input data stream comprises data packets and VoIP packets to be received by the network device and IP phone, respectively;
decoding the incoming data packet and incoming VoIP packet;
sending the input data packet to the network equipment;
sending the input VoIP packet to the IP telephone;
the method further includes the step of encoding the VoIP packet by inserting a transmission identifier, wherein the identifier uniquely identifies the client transmitting the VoIP packet.
7. The method of claim 6, further comprising the steps of:
predetermining at least one other IP phone designated to receive VoIP packets from a client that sent the VoIP packets;
assigning an identifier to each of the at least one other IP phone;
associating an identifier assigned to the at least one other IP telephone with the transmission identifier;
storing the transmission identifier and associated identifier within the customized ASIC.
8. A client-server network system for data and voice over ip communications using data packets and voice packets, respectively, the system comprising:
a plurality of network devices, wherein each network device is in signal communication with a separate custom-made application-specific integrated circuit;
a plurality of IP phones, wherein each IP phone is in signal communication with a corresponding separate custom-made ASIC;
and the central server is in signal communication with each independent customized application-specific integrated circuit through a network, wherein each customized application-specific integrated circuit receives a data packet from network equipment in signal communication with the customized application-specific integrated circuit and a VoIP packet from an IP telephone in signal communication with the customized application-specific integrated circuit, and sends the received data packet and the received VoIP packet to the central server.
9. The client-server network system of claim 8, wherein each customized asic further transmits VoIP packets to and receives VoIP packets from other customized asics in the client-server network system.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/482,591 | 2006-07-06 | ||
| US11/482,591 US9419843B2 (en) | 2006-07-06 | 2006-07-06 | Custom ASIC combining VoIP and security IP |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1116951A1 HK1116951A1 (en) | 2009-01-02 |
| HK1116951B true HK1116951B (en) | 2011-09-16 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101102279B (en) | Custom ASIC and method and system for exchanging data packets and VoIP packets | |
| US6935959B2 (en) | Use of multiple player real-time voice communications on a gaming device | |
| US6905414B2 (en) | Banning verbal communication to and from a selected party in a game playing system | |
| US7464272B2 (en) | Server control of peer to peer communications | |
| US6241612B1 (en) | Voice communication during a multi-player game | |
| CN102185862B (en) | The communication means of network game system, Apparatus and system | |
| US8152644B2 (en) | Data stream processing | |
| US8628421B2 (en) | Electronic gaming system and method for providing puzzle game using video feed | |
| US20110228764A1 (en) | Integration of audio input to a software application | |
| WO2010029047A1 (en) | Electronic gaming system and method | |
| HK1116951B (en) | Customized application specific integrated circuit and method and system for switching data packets and voip packets | |
| JP2005353012A (en) | Limitation of interaction between parties in networked session |