IP Library › Granted Patent US 12,278,768
Granted Patent B2
US 12,278,768 · App. 17/703,472 · Granted Apr 15, 2025

Service processing method and apparatus, and storage medium

Inventors: Qiwen Zhong (Shenzhen, CN); Chunsheng Yang (Shenzhen, CN); Zhigang Zhu (Shenzhen, CN)
Assignee: Huawei Technologies Co., Ltd.
H04L47/225H04L5/0082H04L5/22H04L47/622H04L47/72
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,278,768
App. No.
17/703,472
Granted
Apr 15, 2025
Kind
B2
Abstract

This application discloses example service processing methods and apparatuses. One example method includes obtaining a quantity of transmission windows corresponding to each of n services within a unit time period or in a unit data frame, wherein the unit time period or the unit data frame comprises m transmission windows, a total quantity of transmission windows corresponding to the n services is not greater than m, and both m and n are integers greater than 1. Corresponding transmission windows from the m transmission windows can then be allocated to each service based on the quantity of transmission windows corresponding to each of the n services. Based on the transmission windows corresponding to each service, service data of then services can then be multiplexed into multiplexed data transmitted in one channel. The multiplexed data can then be sent.

Claims (89)

1. A service processing method, wherein the method comprises:

obtaining a quantity of transmission windows corresponding to each of n services within a unit time period or in a unit data frame, wherein the unit time period or the unit data frame comprises m transmission windows, a total quantity of transmission windows corresponding to the n services is not greater than m, and both m and n are integers greater than 1;

allocating, from the m transmission windows, corresponding transmission windows to each service based on the quantity of transmission windows corresponding to each of the n services;

multiplexing, based on the transmission windows corresponding to each service, service data of the n services into multiplexed data transmitted in one channel; and

sending the multiplexed data, wherein allocating, from the m transmission windows, corresponding transmission windows to each service based on the quantity of transmission windows corresponding to each of the n services comprises:

determining, based on the quantity of transmission windows corresponding to each of the n services, candidate service identifiers corresponding to each of k transmission resources, wherein the k transmission resources are obtained by dividing total transmission resources within the unit time period or in the unit data frame, the candidate service identifiers are service identifiers of services that expect to use a corresponding transmission resource, and k is an integer greater than 1 and k is not less than the largest quantity of transmission windows in quantities of transmission windows corresponding to the n services; and

allocating the corresponding transmission windows to each service based on the candidate service identifiers corresponding to each transmission resource, wherein allocating the corresponding transmission windows to each service based on the candidate service identifiers corresponding to each transmission resource comprises:

generating a service identifier buffer queue based on a sequence of the k transmission resources and a sequence of the services identified by the candidate service identifiers corresponding to each transmission resource; and

when the total quantity of transmission windows corresponding to the n services is equal to m, sequentially allocating, based on a sequence of the m transmission windows, the m transmission windows to the services identified by the candidate service identifiers in the service identifier buffer queue; or

when the total quantity of transmission windows corresponding to the n services is less than m, sequentially allocating, based on a sequence of the m transmission windows, a quantity of transmission windows in the m transmission windows that is equal to the total quantity of transmission windows corresponding to the n services to the services identified by the candidate service identifiers in the service identifier buffer queue.

2. The method according to claim 1 , wherein k is one of the largest quantity of transmission windows, m, or 2 P , wherein p is an integer greater than 1.

3. The method according to claim 1 , wherein determining, based on the quantity of transmission windows corresponding to each of the n services, the candidate service identifiers corresponding to each of k transmission resources comprises:

sequentially detecting, based on the quantity of transmission windows corresponding to each of the n services, whether each of the n services expects to use a first transmission resource, wherein the first transmission resource is any one of the k transmission resources; and

in response to determining that none of the n services expects to use the first transmission resource, determining that candidate service identifiers corresponding to the first transmission resource are empty; or

in response to determining that a service that expects to use the first transmission resource exists in the n services, using service identifiers of one or more services expecting to use the first transmission resource as candidate service identifiers of the first transmission resource.

4. The method according to claim 3 , wherein allocating the corresponding transmission windows to each service based on the candidate service identifiers corresponding to each transmission resource comprises:

in response to determining the candidate service identifiers corresponding to the first transmission resource, generating a service identifier buffer queue based on the candidate service identifiers corresponding to the first transmission resource;

sequentially allocating, starting from a first transmission window in current remaining transmission windows of the m transmission windows, corresponding transmission windows to a service identified by each service identifier in the service identifier buffer queue; and

deleting an allocated service identifier from the service identifier buffer queue; and

wherein the method further comprises:

in response to determining that the service identifier buffer queue is empty, using a second transmission resource as the first transmission resource, and re-performing a step of sequentially detecting, based on the quantity of transmission windows corresponding to each of the n services, whether each of the n services expects to use a first transmission resource, wherein the second transmission resource is located after the first transmission resource and adjacent to the first transmission resource.

5. The method according to claim 3 , wherein sequentially detecting, based on the quantity of transmission windows required by each of the n services, whether each of the n services expects to use the first transmission resource comprises:

for i th service in the n services, determining a product of a quantity of transmission windows corresponding to the i th service and j, wherein j is a sequence number of the first transmission resource in the k transmission resources;

determining a remainder by dividing the product by k; and

in response to determining that the remainder is less than the quantity of transmission windows corresponding to the i th service, determining that the i th service expects to use the first transmission resource, wherein i and j are integers greater than 1.

6. The method according to claim 3 , wherein sequentially detecting, based on the quantity of transmission windows corresponding to each of the n services, whether each of the n services expects to use the first transmission resource comprises:

for i th service in the n services, determining a product of a quantity of transmission windows corresponding to the i th service and k−j+1, wherein j is a sequence number of the first transmission resource in the k transmission resources;

determining a remainder by dividing the product by k; and

in response to determining that the remainder is less than the quantity of transmission windows required by the i th service, determining that the i th service expects to use the first transmission resource.

7. The method according to claim 1 , wherein when the total quantity of transmission windows corresponding to the n services is equal to m, the n services comprise one or more idle services.

8. The method according to claim 1 , wherein:

the sequence of the services identified by the candidate service identifiers corresponding to each transmission resource is a sequence of service numbers of the services in ascending order; or

the sequence of the services identified by the candidate service identifiers corresponding to each transmission resource is a sequence of remainders corresponding to the services in descending order, and a remainder corresponding to each service is a remainder obtained by dividing a product of the quantity of transmission windows corresponding to the service and a sequence number of the corresponding transmission resource in the k transmission resources by k.

9. The method according to claim 1 , wherein allocating, from the m transmission windows, corresponding transmission windows to each service based on the quantity of transmission windows corresponding to each of the n services comprises:

allocating, from the m transmission windows, C 1 transmission windows to a first service in the n services based on a quantity C 1 of transmission windows corresponding to the first service and m; and

allocating, from remaining transmission windows in the m transmission windows, C i transmission windows to i th service in the n services based on a quantity C i of transmission windows required by the i th service and m, wherein the remaining transmission windows are in the m transmission windows other than transmission windows allocated to first i−1 services, wherein C i and i are integers greater than 1.

10. The method according to claim 1 , wherein allocating, from the m transmission windows, corresponding transmission windows to each service based on the quantity of transmission windows corresponding to each of the n services comprises:

assigning i=1 and j=1;

determining, based on a quantity of transmission windows corresponding to i th service and m, whether the i th service expects to use h th transmission window, wherein h is equal to j or h is equal to m−j+1, and h is an integers greater than 1; and

in response to determining that the i th service expects to use the h th transmission window:

allocating the h th transmission window to the i th service; and

assigning i=1 and j=j+1; and

returning to a step of determining whether the i th service expects to use the h th transmission window until j=m; or

in response to determining that the i th service does not expect to use the h th transmission window:

assigning i=i+1;

returning to a step of determining whether the i th service expects to use the h th transmission window until i=n;

allocating the h th transmission window to n th service;

assigning i=1 and j=j+1; and

returning to the step of determining whether the i th service expects to use the h th transmission window.

11. The method according to claim 1 , wherein the method further comprises:

sending service configuration parameters to a receiving device, wherein the receiving device demultiplexes the multiplexed data based on the service configuration parameters to obtain the service data of the n services, wherein the service configuration parameters comprise the quantity of transmission windows corresponding to each of the n services.

12. A service processing apparatus, comprising:

one or more processors; and

a non-transitory computer-readable memory storing a program to be executed by the one or more processors, the program including instructions that, when executed by the one or more processors, cause the apparatus to:

obtain a quantity of transmission windows corresponding to each of n services within a unit time period or in a unit data frame, wherein the unit time period or the unit data frame comprises m transmission windows, a total quantity of transmission windows corresponding to the n services is not greater than m, and both m and n are integers greater than 1;

allocate, from the m transmission windows, corresponding transmission windows to each service based on the quantity of transmission windows corresponding to each of the n services;

multiplex, based on the transmission windows corresponding to each service, service data of the n services into multiplexed data transmitted in one channel; and

send the multiplexed data, wherein allocating, from the m transmission windows, corresponding transmission windows to each service based on the quantity of transmission windows corresponding to each of the n services comprises:

determining, based on the quantity of transmission windows corresponding to each of the n services, candidate service identifiers corresponding to each of k transmission resources, wherein the k transmission resources are obtained by dividing total transmission resources within the unit time period or in the unit data frame, the candidate service identifiers are service identifiers of services that expect to use a corresponding transmission resource, k is an integer greater than 1 and k is not less than the largest quantity of transmission windows in quantities of transmission windows corresponding to the n services; and

allocating the corresponding transmission windows to each service based on the candidate service identifiers corresponding to each transmission resource, wherein allocate the corresponding transmission windows to each service based on the candidate service identifiers corresponding to each transmission resource comprises:

generating a service identifier buffer queue based on a sequence of the k transmission resources and a sequence of the services identified by the candidate service identifiers corresponding to each transmission resource; and

when the total quantity of transmission windows corresponding to the n services is equal to m, sequentially allocating, based on a sequence of the m transmission windows, the m transmission windows to the services identified by the candidate service identifiers in the service identifier buffer queue; or

when the total quantity of transmission windows corresponding to the n services is less than m, sequentially allocating, based on a sequence of the m transmission windows, a quantity of transmission windows in the m transmission windows that is equal to the total quantity of transmission windows corresponding to the n services to the services identified by the candidate service identifiers in the service identifier buffer queue.

13. The apparatus according to claim 12 , wherein k is one of the largest quantity of transmission windows, m, or 2 p , and k is an integer greater than 1.

14. The apparatus according to claim 12 , wherein the program further comprises instructions that, when executed by the one or more processors, cause the apparatus to:

sequentially detect, based on the quantity of transmission windows corresponding to each of the n services, whether each of the n services expects to use a first transmission resource, wherein the first transmission resource is any one of the k transmission resources; and

in response to determining that none of the n services expects to use the first transmission resource, determine that candidate service identifiers corresponding to the first transmission resource are empty; or

in response to determining that a service that expects to use the first transmission resource exists in the n services, use service identifiers of one or more services expecting to use the first transmission resource as candidate service identifiers of the first transmission resource.

15. The apparatus according to claim 14 , wherein allocating the corresponding transmission windows to each service based on the candidate service identifiers corresponding to each transmission resource comprises:

in response to determining the candidate service identifiers corresponding to the first transmission resource, generating a service identifier buffer queue based on the candidate service identifiers corresponding to the first transmission resource;

sequentially allocating, starting from a first transmission window in current remaining transmission windows of the m transmission windows, corresponding transmission windows to a service identified by each service identifier in the service identifier buffer queue; and

deleting an allocated service identifier from the service identifier buffer queue; and

wherein the program including instructions that, when executed by the one or more processors, cause the apparatus to:

in response to determining that the service identifier buffer queue is empty, use a second transmission resource as the first transmission resource, and re-performing a step of sequentially detecting, based on the quantity of transmission windows corresponding to each of the n services, whether each of the n services expects to use a first transmission resource, wherein the second transmission resource is located after the first transmission resource and adjacent to the first transmission resource.

16. The apparatus according to claim 14 , wherein sequentially detecting, based on the quantity of transmission windows required by each of the n services, whether each of the n services expects to use the first transmission resource comprises:

for i th service in the n services, determining a product of a quantity of transmission windows corresponding to the i th service and j, wherein j is a sequence number of the first transmission resource in the k transmission resources;

determining a remainder by dividing the product by k; and

in response to determining that the remainder is less than the quantity of transmission windows corresponding to the i th service, determining that the i th service expects to use the first transmission resource, wherein i and j are integers greater than 1.

17. The apparatus according to claim 14 , wherein sequentially detecting, based on the quantity of transmission windows corresponding to each of the n services, whether each of the n services expects to use the first transmission resource comprises:

for i th service in the n services, determining a product of a quantity of transmission windows corresponding to the i th service and k−j+1, wherein j is a sequence number of the first transmission resource in the k transmission resources;

determining a remainder by dividing the product by k; and

in response to determining that the remainder is less than the quantity of transmission windows required by the i th service, determining that the i th service expects to use the first transmission resource.

18. The apparatus according to claim 12 , wherein when the total quantity of transmission windows corresponding to the n services is equal to m, the n services comprise one or more idle services.

19. The apparatus according to claim 12 , wherein:

the sequence of the services identified by the candidate service identifiers corresponding to each transmission resource is a sequence of service numbers of the services in ascending order; or

the sequence of the services identified by the candidate service identifiers corresponding to each transmission resource is a sequence of remainders corresponding to the services in descending order, and a remainder corresponding to each service is a remainder obtained by dividing a product of the quantity of transmission windows corresponding to the service and a sequence number of the corresponding transmission resource in the k transmission resources by k.

20. The apparatus according to claim 12 , wherein allocating, from the m transmission windows, corresponding transmission windows to each service based on the quantity of transmission windows corresponding to each of the n services comprises:

allocating, from the m transmission windows, C 1 transmission windows to a first service in the n services based on a quantity C 1 of transmission windows corresponding to the first service and m; and

allocating, from remaining transmission windows in the m transmission windows, C i transmission windows to i th service in the n services based on a quantity C i of transmission windows required by the i th service and m, wherein the remaining transmission windows are in the m transmission windows other than transmission windows allocated to first i−1 services, wherein C i and i are integers greater than 1.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2022
From: ZHONG, QIWEN; YANG, CHUNSHENG; ZHU, ZHIGANG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 059995/0957 →
Priority Claims (1)
CN 201910906148.4 · Sep 24, 2019 · national
Continuity (2)
Continuation PCTCN2020116610 · Sep 21, 2020
Related Publication 20220217091A1 · Jul 7, 2022
References Cited (16)
US 7664139B2 · Loprieno · 2010 [cited by examiner]
US 12047983B2 · Lu · 2024 [cited by examiner]
US 20040095884A1 · Lee · 2004 [cited by examiner]
US 20140280398A1 · Smith · 2014 [cited by examiner]
US 20210091870A1 · Zhang · 2021 [cited by examiner]
US 20210314929A1 · Li · 2021 [cited by examiner]
US 20220217091A1 · Zhong · 2022 [cited by examiner]
CN 101931884A · 2010 [cited by applicant]
CN 106506110A · 2017 [cited by applicant]
CN 107566075A · 2018 [cited by applicant]
CN 109861781A · 2019 [cited by applicant]
CN 110266612B · 2022 [cited by applicant]
EP 3468075A1 · 2019 [cited by applicant]
WO 2019128934A1 · 2019 [cited by applicant]
Extended European Search Report issued in European Application No. 20868968.7 on Sep. 5, 2022, 10 pages. [cited by applicant]
PCT International Search Report and Written Opinion issued in International Application No. PCT/CN2020/116610 on Dec. 21, 2020, 15 pages (with English translation). [cited by applicant]
Cited By (1)
US 12,701,039